CoffeeScript - Operatori e alias

Operatori CoffeeScript

Un operatore è un simbolo che dice al compilatore di eseguire specifiche funzioni matematiche o logiche. Prendiamo una semplice espressione4 + 5 is equal to 9. Qui vengono chiamati 4 e 5operands e "+" è chiamato operator.

Gli operatori forniti da CoffeeScript sono gli stessi di JavaScript tranne alcune differenze. Ci sono alcuni operatori problematici in JavaScript. CoffeeScript li ha rimossi o modificato la loro funzionalità e ha anche introdotto alcuni nuovi operatori.

Di seguito è riportato l'elenco degli operatori supportati da CoffeeScript.

  • Operatori aritmetici
  • Operatori di confronto
  • Operatori logici (o relazionali)
  • Operatori di assegnazione

Alias ​​CoffeeScript

Oltre agli operatori, CoffeeScript fornisce anche alias. CoffeeScript fornisce alias a vari operatori e simboli per rendere il tuo codice CoffeeScript leggibile e più facile da usare.

Diamo uno sguardo a tutti gli operatori e alias di CoffeeScript uno per uno.

Operatori aritmetici

CoffeeScript supporta i seguenti operatori aritmetici. Assumi variabileA tiene 10 e variabile B tiene 20, quindi -

Mostra esempi

S.No Operatore e descrizione Esempio
1

+ (Addition)

Aggiunge due operandi

A + B = 30
2

− (Subtraction)

Sottrae il secondo operando dal primo

A - B = -10
3

* (Multiplication)

Moltiplica entrambi gli operandi

A * B = 200
4

/ (Division)

Dividi il numeratore per il denominatore

B / A = 2
5

% (Modulus)

Restituisce il resto di una divisione intera

B% A = 0
6

++ (Increment)

Aumenta un valore intero di uno

A ++ = 11
7

-- (Decrement)

Diminuisce un valore intero di uno

A-- = 9

Operatori di confronto

JavaScript supporta i seguenti operatori di confronto. Assumi variabileA tiene 10 e variabile B tiene 20, quindi -

Mostra esempi

S.No Operatore e descrizione Esempio
1

= = (Equal)

Controlla se il valore di due operandi è uguale o meno, in caso affermativo, la condizione diventa vera.

(A == B) non è vero.
2

!= (Not Equal)

Controlla se il valore di due operandi è uguale o meno, se i valori non sono uguali, la condizione diventa vera.

(A! = B) è vero.
3

> (Greater than)

Controlla se il valore dell'operando sinistro è maggiore del valore dell'operando destro, in caso affermativo la condizione diventa vera.

(A> B) non è vero.
4

< (Less than)

Controlla se il valore dell'operando sinistro è inferiore al valore dell'operando destro, in caso affermativo la condizione diventa vera.

(A <B) è vero.
5

>= (Greater than or Equal to)

Controlla se il valore dell'operando sinistro è maggiore o uguale al valore dell'operando destro, in caso affermativo, la condizione diventa vera.

(A> = B) non è vero.
6

<= (Less than or Equal to)

Controlla se il valore dell'operando sinistro è minore o uguale al valore dell'operando destro, se sì, la condizione diventa vera.

(A <= B) è vero.

La tabella seguente mostra gli alias per alcuni operatori di confronto. SupponiamoA tiene 20 e variabile B tiene 20.

Mostra esempi

Operatore Alias Esempio
= = (Uguale) is A is B ti dà la verità.
! = = (Diverso da) isnt A isnt B ti dà falso.

Operatori logici

CoffeeScript supporta i seguenti operatori logici. Assumi variabileA tiene 10 e variabile B tiene 20, quindi -

Mostra esempi

S.No Operatore e descrizione Esempio
1

&& (Logical AND)

Se entrambi gli operandi sono diversi da zero, la condizione diventa vera.

(A && B) è vero.
2

|| (Logical OR)

Se uno dei due operandi è diverso da zero, la condizione diventa vera.

(A || B) è vero.
3

! (Logical NOT)

Inverte lo stato logico del suo operando. Se una condizione è vera, l'operatore NOT logico la renderà falsa.

! (A && B) è falso.

La tabella seguente mostra gli alias per alcuni degli operatori logici. SupponiamoX tiene true e variabile Y tiene false.

Mostra esempi

Operatore Alias Esempio
&& (AND logico) and X and Y ti dà falso
|| (OR logico) or X or Y ti dà la verità
! (non x) not not X ti dà falso

Operatori bit per bit

CoffeeScript supporta i seguenti operatori bit per bit. Assumi variabileA tiene 2 e variabile B tiene 3, quindi -

Mostra esempi

S.No Operatore e descrizione Esempio
1

& (Bitwise AND)

Esegue un'operazione booleana AND su ogni bit dei suoi argomenti interi.

(A e B) è 2.
2

| (BitWise OR)

Esegue un'operazione booleana OR su ogni bit dei suoi argomenti interi.

(A | B) è 3.
3

^ (Bitwise XOR)

Esegue un'operazione booleana OR esclusivo su ogni bit dei suoi argomenti interi. OR esclusivo significa che uno degli operandi uno è vero o l'operando due è vero, ma non entrambi.

(A ^ B) è 1.
4

~ (Bitwise Not)

È un operatore unario e opera invertendo tutti i bit nell'operando.

(~ B) è -4.
5

<< (Left Shift)

Sposta tutti i bit nel suo primo operando a sinistra del numero di posizioni specificato nel secondo operando. I nuovi bit vengono riempiti con zeri. Spostare un valore a sinistra di una posizione equivale a moltiplicarlo per 2, spostare due posizioni equivale a moltiplicarlo per 4 e così via.

(A << 1) è 4.
6

>> (Right Shift)

Operatore binario di spostamento a destra. Il valore dell'operando sinistro viene spostato a destra del numero di bit specificato dall'operando destro.

(A >> 1) è 1.

Operatori di assegnazione

CoffeeScript supporta i seguenti operatori di assegnazione:

Mostra esempi

S.No Operatore e descrizione Esempio
1

= (Simple Assignment )

Assegna i valori dall'operando del lato destro all'operando del lato sinistro

C = A + B assegnerà il valore di A + B a C
2

+= (Add and Assignment)

Aggiunge l'operando destro all'operando sinistro e assegna il risultato all'operando sinistro.

C + = A è equivalente a C = C + A
3

-= (Subtract and Assignment)

Sottrae l'operando destro dall'operando sinistro e assegna il risultato all'operando sinistro.

C - = A è equivalente a C = C - A
4

*= (Multiply and Assignment)

Moltiplica l'operando destro per l'operando sinistro e assegna il risultato all'operando sinistro.

C * = A è equivalente a C = C * A
5

/= (Divide and Assignment)

Divide l'operando sinistro con l'operando destro e assegna il risultato all'operando sinistro.

C / = A è equivalente a C = C / A
6

%= (Modules and Assignment)

Richiede il modulo utilizzando due operandi e assegna il risultato all'operando sinistro.

C% = A è equivalente a C = C% A

Note - La stessa logica si applica agli operatori Bitwise, quindi diventeranno come << =, >> =, >> =, & =, | = e ^ =.

Operatore di uguaglianza in CoffeeScript

Mentre lavori con JavaScript, incontrerai due tipi di operatori di uguaglianza == e ===.

Il == l'operatore in JavaScript è type coercive, ovvero, se i tipi dei due operandi in un'operazione sono diversi, il tipo di dati di uno degli operatori viene convertito in un altro e quindi vengono confrontati entrambi.

CoffeeScript evita questa coercizione indesiderata, compila il file == operatore nell'operatore di confronto rigoroso di JavaScript ===.

Se confrontiamo due operandi usando ===, quindi ritorna true, solo se sia il valore che i tipi di dati sono uguali, altrimenti ritorna false.

Esempio

Considera il seguente esempio. Qui abbiamo due variabilia e b. a contiene il valore 21 di tipo intero e b ha lo stesso valore, ma è di stringgenere. In CoffeeScript, quando confrontiamoa e b, il risultato sarà false. (Dal momento che il== l'operatore di CoffeeScript viene convertito in === operatore di JavaScript)

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

Durante la compilazione, il CoffeeScript di cui sopra produce il seguente JavaScript

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

In esecuzione, produce il seguente output.

false

L'operatore esistenziale

CoffeeScript fornisce un nuovo operatore noto come operatore esistenziale per verificare l'esistenza di una variabile. È indicato da?. A meno che una variabile non sia nulla o indefinita, l'operatore esistenziale restituisce vero.

Esempio

Di seguito è riportato un esempio dell'operatore esistenziale. Qui abbiamo tre variabili, vale a direname, age, e subject e stiamo verificando l'esistenza delle variabili nome e telefono tramite operatore esistenziale.

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

Durante la compilazione, questo genererà il seguente codice 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);

Se eseguiamo il file CoffeeScript di cui sopra, produce il seguente output.

true
false

Note - Abbiamo una variante accessoria dell'operatore esistenziale ?. Possiamo usarlo al posto del file. operatore per scoprire i riferimenti nulli.

Confronti concatenati

Come in Python, possiamo usare una catena di operatori di confronto in una singola espressione in CoffeeScript.

Esempio

Di seguito è riportato un esempio di utilizzo del confronto concatenato.

score = 70
passed = 100 > score > 40

console.log passed

Durante la compilazione, l'esempio CoffeeScript fornisce il seguente codice JavaScript.

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

  score = 70;

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

  console.log(passed);

}).call(this);

Se esegui il codice CoffeeScript sopra, produce il seguente output.

true

Note- CoffeeScript rimuove l'operatore ternario; invece di esso, possiamo usare ilinline if dichiarazione.

Alias ​​CoffeeScript

In generale, CoffeeScript fornisce alias a vari operatori e simboli per rendere il tuo codice CoffeeScript leggibile e più facile da usare. Di seguito sono riportati gli alias forniti da CoffeeScript.

Nome Operatore / simbolo Alias
Operatore "uguale a" == è
Operatore "diverso da" ! == non è
operatore "non" ! non
Operatore "and" && e
Operatore "or" || o
valore booleano true vero vero, sì, su
valore booleano false falso spento, no
oggetto corrente Questo @
nuova riga (o) punto e virgola \né ; poi
Inverso di se ! Se salvo che
Per verificare la presenza di array nel
Per verificare la presenza di oggetti di
Esponenziazione un**b
Divisione intera un//b
modulo dipendente dal dividendo un%%b

Esempio

L'esempio seguente mostra come utilizzare gli alias in 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

Durante la compilazione dell'esempio sopra, ti dà il seguente codice 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);

Se esegui il file CoffeeScript sopra, produce il seguente output:

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