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