CoffeeScript - Operadores y alias

Operadores CoffeeScript

Un operador es un símbolo que le dice al compilador que realice funciones matemáticas o lógicas específicas. Tomemos una expresión simple4 + 5 is equal to 9. Aquí 4 y 5 se llamanoperands y '+' se llama operator.

Los operadores proporcionados por CoffeeScript son los mismos que en JavaScript, excepto algunas diferencias. Hay algunos operadores problemáticos en JavaScript. CoffeeScript los eliminó o modificó su funcionalidad y también introdujo algunos operadores nuevos.

A continuación se muestra la lista de operadores admitidos por CoffeeScript.

  • Operadores aritméticos
  • Operadores de comparación
  • Operadores lógicos (o relacionales)
  • Operadores de Asignación

Alias ​​de CoffeeScript

Además de los operadores, CoffeeScript también proporciona alias. CoffeeScript proporciona alias a varios operadores y símbolos para que su código CoffeeScript sea más legible y fácil de usar.

Echemos un vistazo a todos los operadores y alias de CoffeeScript uno por uno.

Operadores aritméticos

CoffeeScript admite los siguientes operadores aritméticos. Asumir variableA sostiene 10 y variable B sostiene 20, entonces -

Mostrar ejemplos

S. No Operador y descripción Ejemplo
1

+ (Addition)

Agrega dos operandos

A + B = 30
2

− (Subtraction)

Resta el segundo operando del primero

A - B = -10
3

* (Multiplication)

Multiplica ambos operandos

A * B = 200
4

/ (Division)

Divide el numerador entre el denominador

B / A = 2
5

% (Modulus)

Emite el resto de una división entera

B% A = 0
6

++ (Increment)

Aumenta un valor entero en uno

A ++ = 11
7

-- (Decrement)

Disminuye un valor entero en uno.

A-- = 9

Operadores de comparación

JavaScript admite los siguientes operadores de comparación. Asumir variableA sostiene 10 y variable B sostiene 20, entonces -

Mostrar ejemplos

S. No Operador y descripción Ejemplo
1

= = (Equal)

Comprueba si el valor de dos operandos es igual o no, si es así, la condición se convierte en verdadera.

(A == B) no es cierto.
2

!= (Not Equal)

Comprueba si el valor de dos operandos es igual o no, si los valores no son iguales, la condición se convierte en verdadera.

(A! = B) es cierto.
3

> (Greater than)

Comprueba si el valor del operando izquierdo es mayor que el valor del operando derecho; en caso afirmativo, la condición se cumple.

(A> B) no es cierto.
4

< (Less than)

Comprueba si el valor del operando izquierdo es menor que el valor del operando derecho; si es así, la condición se cumple.

(A <B) es cierto.
5

>= (Greater than or Equal to)

Comprueba si el valor del operando izquierdo es mayor o igual que el valor del operando derecho; si es así, la condición se cumple.

(A> = B) no es cierto.
6

<= (Less than or Equal to)

Comprueba si el valor del operando izquierdo es menor o igual que el valor del operando derecho; si es así, la condición se cumple.

(A <= B) es cierto.

La siguiente tabla muestra los alias de algunos de los operadores de comparación. SuponerA sostiene 20 y variable B sostiene 20.

Mostrar ejemplos

Operador Alias Ejemplo
= = (Igual) is A is B te da la verdad.
! = = (No es igual) isnt A isnt B te da falso.

Operadores logicos

CoffeeScript admite los siguientes operadores lógicos. Asumir variableA sostiene 10 y variable B sostiene 20, entonces -

Mostrar ejemplos

S. No Operador y descripción Ejemplo
1

&& (Logical AND)

Si ambos operandos son distintos de cero, la condición se cumple.

(A && B) es cierto.
2

|| (Logical OR)

Si alguno de los dos operandos es distinto de cero, la condición se cumple.

(A || B) es cierto.
3

! (Logical NOT)

Invierte el estado lógico de su operando. Si una condición es verdadera, entonces el operador lógico NOT la convertirá en falsa.

! (A && B) es falso.

La siguiente tabla muestra los alias de algunos de los operadores lógicos. SuponerX sostiene true y variable Y sostiene false.

Mostrar ejemplos

Operador Alias Ejemplo
&& (Y lógico) and X and Y te da falso
|| (OR lógico) or X or Y te da verdad
! (no x) not not X te da falso

Operadores bit a bit

CoffeeScript admite los siguientes operadores bit a bit. Asumir variableA sostiene 2 y variable B sostiene 3, entonces -

Mostrar ejemplos

S. No Operador y descripción Ejemplo
1

& (Bitwise AND)

Realiza una operación booleana AND en cada bit de sus argumentos enteros.

(A y B) es 2.
2

| (BitWise OR)

Realiza una operación booleana OR en cada bit de sus argumentos enteros.

(A | B) es 3.
3

^ (Bitwise XOR)

Realiza una operación OR exclusiva booleana en cada bit de sus argumentos enteros. OR exclusivo significa que el operando uno es verdadero o el operando dos es verdadero, pero no ambos.

(A ^ B) es 1.
4

~ (Bitwise Not)

Es un operador unario y opera invirtiendo todos los bits del operando.

(~ B) es -4.
5

<< (Left Shift)

Mueve todos los bits de su primer operando a la izquierda el número de lugares especificado en el segundo operando. Los nuevos bits se llenan de ceros. Cambiar un valor a la izquierda en una posición equivale a multiplicarlo por 2, cambiar dos posiciones equivale a multiplicar por 4, y así sucesivamente.

(A << 1) es 4.
6

>> (Right Shift)

Operador de cambio a la derecha binario. El valor del operando izquierdo se mueve hacia la derecha el número de bits especificado por el operando derecho.

(A >> 1) es 1.

Operadores de Asignación

CoffeeScript admite los siguientes operadores de asignación:

Mostrar ejemplos

S. No Operador y descripción Ejemplo
1

= (Simple Assignment )

Asigna valores del operando del lado derecho al operando del lado izquierdo

C = A + B asignará el valor de A + B a C
2

+= (Add and Assignment)

Agrega el operando derecho al operando izquierdo y asigna el resultado al operando izquierdo.

C + = A es equivalente a C = C + A
3

-= (Subtract and Assignment)

Resta el operando derecho del operando izquierdo y asigna el resultado al operando izquierdo.

C - = A es equivalente a C = C - A
4

*= (Multiply and Assignment)

Multiplica el operando derecho con el operando izquierdo y asigna el resultado al operando izquierdo.

C * = A es equivalente a C = C * A
5

/= (Divide and Assignment)

Divide el operando izquierdo con el operando derecho y asigna el resultado al operando izquierdo.

C / = A es equivalente a C = C / A
6

%= (Modules and Assignment)

Toma el módulo usando dos operandos y asigna el resultado al operando izquierdo.

C% = A es equivalente a C = C% A

Note - La misma lógica se aplica a los operadores bit a bit, por lo que se convertirán en << =, >> =, >> =, & =, | = y ^ =.

Operador de igualdad en CoffeeScript

Mientras trabaja con JavaScript, encontrará dos tipos de operadores de igualdad == y ===.

los == operador en JavaScript es type coercive, es decir, si los tipos de los dos operandos en una operación son diferentes, entonces el tipo de datos de uno de los operadores se convierte en otro y luego se comparan ambos.

CoffeeScript evita esta coacción indeseable, compila el == operador en el operador de comparación estricto de JavaScript ===.

Si comparamos dos operandos usando ===, luego vuelve true, solo si tanto el valor como los tipos de datos de ellos son iguales, de lo contrario, devuelve false.

Ejemplo

Considere el siguiente ejemplo. Aquí tenemos dos variablesa y b. a tiene el valor 21 de tipo entero y b tiene el mismo valor, pero es de stringtipo. En CoffeeScript, cuando comparamosa y b, el resultado será false. (Desde el== operador de CoffeeScript se convierte en === operador de JavaScript)

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

Al compilar, el CoffeeScript anterior produce el siguiente JavaScript

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

Al ejecutarse, produce la siguiente salida.

false

El operador existencial

CoffeeScript proporciona un nuevo operador conocido como operador existencial para verificar la existencia de una variable. Se denota por?. A menos que una variable sea nula o indefinida, el operador existencial devuelve verdadero.

Ejemplo

A continuación se muestra un ejemplo del operador existencial. Aquí tenemos tres variables, a sabername, agey subject y estamos verificando la existencia de las variables nombre y teléfono mediante operador existencial.

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

Al compilar, esto generará el siguiente código JavaScript.

// 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 ejecutamos el archivo CoffeeScript anterior, produce la siguiente salida.

true
false

Note - Tenemos una variante de acceso del operador existencial ?. Podemos usarlo en lugar del. operador para averiguar las referencias nulas.

Comparaciones encadenadas

Como en Python, podemos usar una cadena de operadores de comparación en una sola expresión en CoffeeScript.

Ejemplo

A continuación se muestra un ejemplo del uso de la comparación encadenada.

score = 70
passed = 100 > score > 40

console.log passed

Al compilar, el CoffeeScript de ejemplo le proporciona el siguiente código JavaScript.

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

  score = 70;

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

  console.log(passed);

}).call(this);

Si ejecuta el código CoffeeScript anterior, produce la siguiente salida.

true

Note- CoffeeScript elimina el operador ternario; en lugar de eso, podemos usar elinline if declaración.

Alias ​​de CoffeeScript

En general, CoffeeScript proporciona alias a varios operadores y símbolos para que su código CoffeeScript sea más legible y fácil de usar. A continuación se muestran los alias proporcionados por CoffeeScript.

Nombre Operador / símbolo Alias
operador "igual a" == es
operador "no es igual a" ! == no es
operador "no" ! no
operador "y" && y
operador "o" || o
valor booleano verdadero cierto cierto, sí, en
valor booleano falso falso apagado, no
objeto actual esta @
nueva línea (o) punto y coma \ n o; luego
Inverso de si ! Si a no ser que
Para probar la presencia de una matriz en
Para probar la presencia de objetos de
Exponenciación un**segundo
División entera un//segundo
módulo dependiente de dividendos un%%segundo

Ejemplo

El siguiente ejemplo muestra cómo usar alias en 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

Al compilar el ejemplo anterior, le proporciona el siguiente código JavaScript.

// 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 ejecuta el archivo CoffeeScript anterior, produce la siguiente salida:

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