CoffeeScript - Opérateurs et alias

Opérateurs CoffeeScript

Un opérateur est un symbole qui indique au compilateur d'exécuter des fonctions mathématiques ou logiques spécifiques. Prenons une expression simple4 + 5 is equal to 9. Ici 4 et 5 sont appelésoperands et '+' est appelé le operator.

Les opérateurs fournis par CoffeeScript sont les mêmes que dans JavaScript, à quelques différences près. Il existe des opérateurs problématiques dans JavaScript. CoffeeScript les a supprimés ou modifié leur fonctionnalité et a également introduit de nouveaux opérateurs.

Voici la liste des opérateurs pris en charge par CoffeeScript.

  • Opérateurs arithmétiques
  • Opérateurs de comparaison
  • Opérateurs logiques (ou relationnels)
  • Opérateurs d'affectation

Alias ​​CoffeeScript

En plus des opérateurs, CoffeeScript fournit également des alias. CoffeeScript fournit des alias à divers opérateurs et symboles afin de rendre votre code CoffeeScript lisible et plus convivial.

Jetons un coup d'œil à tous les opérateurs et alias de CoffeeScript un par un.

Opérateurs arithmétiques

CoffeeScript prend en charge les opérateurs arithmétiques suivants. Supposons une variableA tient 10 et variable B tient 20, alors -

Afficher des exemples

S. Non Opérateur et description Exemple
1

+ (Addition)

Ajoute deux opérandes

A + B = 30
2

− (Subtraction)

Soustrait le deuxième opérande du premier

A - B = -10
3

* (Multiplication)

Multiplier les deux opérandes

A * B = 200
4

/ (Division)

Divisez le numérateur par le dénominateur

B / A = 2
5

% (Modulus)

Produit le reste d'une division entière

B% A = 0
6

++ (Increment)

Augmente une valeur entière de un

A ++ = 11
sept

-- (Decrement)

Diminue une valeur entière de un

A-- = 9

Opérateurs de comparaison

JavaScript prend en charge les opérateurs de comparaison suivants. Supposons une variableA tient 10 et variable B tient 20, alors -

Afficher des exemples

S. Non Opérateur et description Exemple
1

= = (Equal)

Vérifie si la valeur de deux opérandes est égale ou non, si oui, la condition devient vraie.

(A == B) n'est pas vrai.
2

!= (Not Equal)

Vérifie si la valeur de deux opérandes est égale ou non, si les valeurs ne sont pas égales, la condition devient vraie.

(A! = B) est vrai.
3

> (Greater than)

Vérifie si la valeur de l'opérande gauche est supérieure à la valeur de l'opérande droit, si oui, la condition devient vraie.

(A> B) n'est pas vrai.
4

< (Less than)

Vérifie si la valeur de l'opérande gauche est inférieure à la valeur de l'opérande droit, si oui, la condition devient vraie.

(A <B) est vrai.
5

>= (Greater than or Equal to)

Vérifie si la valeur de l'opérande gauche est supérieure ou égale à la valeur de l'opérande droit, si oui, la condition devient vraie.

(A> = B) n'est pas vrai.
6

<= (Less than or Equal to)

Vérifie si la valeur de l'opérande gauche est inférieure ou égale à la valeur de l'opérande droit, si oui, la condition devient vraie.

(A <= B) est vrai.

Le tableau suivant montre les alias de quelques-uns des opérateurs de comparaison. SupposerA tient 20 et variable B tient 20.

Afficher des exemples

Opérateur Alias Exemple
= = (Égal) is A is B vous donne vrai.
! = = (Différent de) isnt A isnt B vous donne faux.

Opérateurs logiques

CoffeeScript prend en charge les opérateurs logiques suivants. Supposons une variableA tient 10 et variable B tient 20, alors -

Afficher des exemples

S. Non Opérateur et description Exemple
1

&& (Logical AND)

Si les deux opérandes sont différents de zéro, la condition devient vraie.

(A && B) est vrai.
2

|| (Logical OR)

Si l'un des deux opérandes est différent de zéro, la condition devient vraie.

(A || B) est vrai.
3

! (Logical NOT)

Inverse l'état logique de son opérande. Si une condition est vraie, alors l'opérateur logique NOT la rendra fausse.

! (A && B) est faux.

Le tableau suivant montre les alias de certains des opérateurs logiques. SupposerX tient true et variable Y tient false.

Afficher des exemples

Opérateur Alias Exemple
&& (ET logique) and X and Y vous donne faux
|| (OU logique) or X or Y te donne vrai
! (pas x) not not X vous donne faux

Opérateurs au niveau du bit

CoffeeScript prend en charge les opérateurs binaires suivants. Supposons une variableA tient 2 et variable B tient 3, alors -

Afficher des exemples

S. Non Opérateur et description Exemple
1

& (Bitwise AND)

Il effectue une opération booléenne AND sur chaque bit de ses arguments entiers.

(A & B) est égal à 2.
2

| (BitWise OR)

Il effectue une opération booléenne OU sur chaque bit de ses arguments entiers.

(A | B) vaut 3.
3

^ (Bitwise XOR)

Il effectue une opération OU exclusive booléenne sur chaque bit de ses arguments entiers. OU exclusif signifie que l'opérande un est vrai ou que l'opérande deux est vrai, mais pas les deux.

(A ^ B) vaut 1.
4

~ (Bitwise Not)

C'est un opérateur unaire et fonctionne en inversant tous les bits de l'opérande.

(~ B) est -4.
5

<< (Left Shift)

Il déplace tous les bits de son premier opérande vers la gauche du nombre de places spécifié dans le deuxième opérande. Les nouveaux bits sont remplis de zéros. Décaler une valeur vers la gauche d'une position équivaut à la multiplier par 2, déplacer deux positions équivaut à multiplier par 4, et ainsi de suite.

(A << 1) vaut 4.
6

>> (Right Shift)

Opérateur de décalage binaire vers la droite. La valeur de l'opérande gauche est déplacée vers la droite du nombre de bits spécifié par l'opérande droit.

(A >> 1) vaut 1.

Opérateurs d'affectation

CoffeeScript prend en charge les opérateurs d'affectation suivants -

Afficher des exemples

S. Non Opérateur et description Exemple
1

= (Simple Assignment )

Attribue des valeurs de l'opérande du côté droit à l'opérande du côté gauche

C = A + B attribuera la valeur de A + B à C
2

+= (Add and Assignment)

Il ajoute l'opérande droit à l'opérande gauche et affecte le résultat à l'opérande gauche.

C + = A équivaut à C = C + A
3

-= (Subtract and Assignment)

Il soustrait l'opérande droit de l'opérande gauche et affecte le résultat à l'opérande gauche.

C - = A équivaut à C = C - A
4

*= (Multiply and Assignment)

Il multiplie l'opérande droit par l'opérande gauche et affecte le résultat à l'opérande gauche.

C * = A équivaut à C = C * A
5

/= (Divide and Assignment)

Il divise l'opérande de gauche par l'opérande de droite et affecte le résultat à l'opérande de gauche.

C / = A équivaut à C = C / A
6

%= (Modules and Assignment)

Il prend le module en utilisant deux opérandes et affecte le résultat à l'opérande de gauche.

C% = A équivaut à C = C% A

Note - La même logique s'applique aux opérateurs au niveau du bit, donc ils deviendront comme << =, >> =, >> =, & =, | = et ^ =.

Opérateur d'égalité dans CoffeeScript

En travaillant avec JavaScript, vous rencontrerez deux types d'opérateurs d'égalité == et ===.

le == l'opérateur en JavaScript est type coercive, c'est-à-dire, si les types des deux opérandes dans une opération sont différents, alors le type de données de l'un des opérateurs est converti en autre, puis les deux sont comparés.

CoffeeScript évite cette coercition indésirable, il compile le == opérateur vers l'opérateur de comparaison strict de JavaScript ===.

Si nous comparons deux opérandes en utilisant ===, puis il revient true, uniquement si leur valeur et leurs types de données sont égaux, sinon il renvoie false.

Exemple

Prenons l'exemple suivant. Ici, nous avons deux variablesa et b. a contient la valeur 21 de type entier et b détient la même valeur, mais il est de stringtype. Dans CoffeeScript, quand on comparea et b, le résultat sera false. (Depuis le== l'opérateur de CoffeeScript est converti en === opérateur de JavaScript)

a=21
b="21"
result = 21=='21'
console.log result

Lors de la compilation, le CoffeeScript ci-dessus produit le JavaScript suivant

// Generated by CoffeeScript 1.10.0
(function() {
  var a, b, result;
  
  a = 21;
  
  b = "21";
  
  result = a === b;
  console.log(result);
}).call(this);

Lors de l'exécution, il produit la sortie suivante.

false

L'Opérateur existentiel

CoffeeScript fournit un nouvel opérateur appelé opérateur existentiel pour vérifier l'existence d'une variable. Il est désigné par?. À moins qu'une variable ne soit nulle ou indéfinie, l'opérateur existentiel renvoie true.

Exemple

Ci-dessous est un exemple de l'opérateur existentiel. Ici, nous avons trois variables, à savoirname, age, et subject et nous vérifions l'existence des variables nom et téléphone à l'aide de l'opérateur existentiel.

name="Ramu"
age=24
subject="Engineering"
verify_name = name?
verify_phone = phone?
console.log verify_name
console.log verify_phone

Lors de la compilation, cela générera le code JavaScript suivant.

// Generated by CoffeeScript 1.10.0
(function() {
  var age, name, subject, verify_name, verify_phone;
  name = "Ramu";
  age = 24;

  subject = "Engineering";
  verify_name = name != null;
  verify_phone = typeof phone !== "undefined" && phone !== null;
  console.log(verify_name);
  console.log(verify_phone);

}).call(this);

Si nous exécutons le fichier CoffeeScript ci-dessus, il produit la sortie suivante.

true
false

Note - Nous avons une variante accesseur de l'opérateur existentiel ?. Nous pouvons l'utiliser à la place du. opérateur pour trouver les références nulles.

Comparaisons chaînées

Comme en Python, nous pouvons utiliser une chaîne d'opérateurs de comparaison dans une seule expression dans CoffeeScript.

Exemple

Voici un exemple d'utilisation de la comparaison chaînée.

score = 70
passed = 100 > score > 40

console.log passed

Lors de la compilation, l'exemple CoffeeScript vous donne le code JavaScript suivant.

// Generated by CoffeeScript 1.10.0
(function() {
  var passed, score;

  score = 70;

  passed = (100 > score && score > 40);

  console.log(passed);

}).call(this);

Si vous exécutez le code CoffeeScript ci-dessus, il produit la sortie suivante.

true

Note- CoffeeScript supprime l'opérateur ternaire; au lieu de cela, nous pouvons utiliser leinline if déclaration.

Alias ​​CoffeeScript

En général, CoffeeScript fournit des alias à divers opérateurs et symboles afin de rendre votre code CoffeeScript lisible et plus convivial. Voici les alias fournis par CoffeeScript.

Nom Opérateur / symbole Alias
opérateur "égal à" == est
Opérateur "différent de" ! == n'est pas
opérateur "not" ! ne pas
opérateur "et" && et
opérateur "ou" || ou
valeur booléenne true vrai vrai, oui, sur
valeur booléenne false faux off, non
objet courant ce @
nouvelle ligne (ou) point-virgule \ n ou; puis
Inverse de si ! si sauf si
Pour tester la présence de la baie dans
Pour tester la présence d'objet de
Exponentiation une**b
Division entière une//b
modulo dépendant du dividende une%%b

Exemple

L'exemple suivant montre comment utiliser les alias dans CoffeeScript -

a=21; b=21

x = true; y = false

console.log a is b

console.log a isnt b

console.log x and y

console.log x or y

console.log yes or no

console.log on or off

console.log a**b

console.log a//b

console.log a%%b

En compilant l'exemple ci-dessus, il vous donne le code JavaScript suivant.

// Generated by CoffeeScript 1.10.0
(function() {
  var a, b, x, y,
    modulo = function(a, b) { return (+a % (b = +b) + b) % b; };

  a = 21;

  b = 21;

  x = true;

  y = false;

  console.log(a === b);

  console.log(a !== b);

  console.log(x && y);

  console.log(x || y);

  console.log(true || false);

  console.log(true || false);

  console.log(Math.pow(a, b));

  console.log(Math.floor(a / b));

  console.log(modulo(a, b));

}).call(this);

Si vous exécutez le fichier CoffeeScript ci-dessus, il produit la sortie suivante -

true
false
false
true
true
true
5.842587018385982e+27
1
0