JavaScript - Operatori
Cos'è un operatore?
Prendiamo una semplice espressione 4 + 5 is equal to 9. Qui vengono chiamati 4 e 5operands e "+" è chiamato operator. JavaScript supporta i seguenti tipi di operatori.
- Operatori aritmetici
- Operatori di confronto
- Operatori logici (o relazionali)
- Operatori di assegnazione
- Operatori condizionali (o ternari)
Diamo uno sguardo a tutti gli operatori uno per uno.
Operatori aritmetici
JavaScript supporta i seguenti operatori aritmetici:
Supponiamo che la variabile A contenga 10 e la variabile B ne contenga 20, quindi -
Sr.No. | Operatore e descrizione |
---|---|
1 | + (Addition) Aggiunge due operandi Ex: A + B darà 30 |
2 | - (Subtraction) Sottrae il secondo operando dal primo Ex: A - B darà -10 |
3 | * (Multiplication) Moltiplica entrambi gli operandi Ex: A * B darà 200 |
4 | / (Division) Dividi il numeratore per il denominatore Ex: B / A darà 2 |
5 | % (Modulus) Restituisce il resto di una divisione intera Ex: B% A darà 0 |
6 | ++ (Increment) Aumenta un valore intero di uno Ex: A ++ darà 11 |
7 | -- (Decrement) Diminuisce un valore intero di uno Ex: A-- darà 9 |
Note- L'operatore di addizione (+) funziona sia per i numeri che per le stringhe. es. "a" + 10 darà "a10".
Esempio
Il codice seguente mostra come utilizzare gli operatori aritmetici in JavaScript.
<html>
<body>
<script type = "text/javascript">
<!--
var a = 33;
var b = 10;
var c = "Test";
var linebreak = "<br />";
document.write("a + b = ");
result = a + b;
document.write(result);
document.write(linebreak);
document.write("a - b = ");
result = a - b;
document.write(result);
document.write(linebreak);
document.write("a / b = ");
result = a / b;
document.write(result);
document.write(linebreak);
document.write("a % b = ");
result = a % b;
document.write(result);
document.write(linebreak);
document.write("a + b + c = ");
result = a + b + c;
document.write(result);
document.write(linebreak);
a = ++a;
document.write("++a = ");
result = ++a;
document.write(result);
document.write(linebreak);
b = --b;
document.write("--b = ");
result = --b;
document.write(result);
document.write(linebreak);
//-->
</script>
Set the variables to different values and then try...
</body>
</html>
Produzione
a + b = 43
a - b = 23
a / b = 3.3
a % b = 3
a + b + c = 43Test
++a = 35
--b = 8
Set the variables to different values and then try...
Operatori di confronto
JavaScript supporta i seguenti operatori di confronto:
Supponiamo che la variabile A contenga 10 e la variabile B ne contenga 20, quindi -
Sr.No. | Operatore e descrizione |
---|---|
1 | = = (Equal) Controlla se il valore di due operandi è uguale o meno, in caso affermativo, la condizione diventa vera. Ex: (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. Ex: (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. Ex: (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. Ex: (A <B) è vero. |
5 | >= (Greater than or Equal to) Verifica se il valore dell'operando sinistro è maggiore o uguale al valore dell'operando destro, in caso affermativo la condizione diventa vera. Ex: (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. Ex: (A <= B) è vero. |
Esempio
Il codice seguente mostra come utilizzare gli operatori di confronto in JavaScript.
<html>
<body>
<script type = "text/javascript">
<!--
var a = 10;
var b = 20;
var linebreak = "<br />";
document.write("(a == b) => ");
result = (a == b);
document.write(result);
document.write(linebreak);
document.write("(a < b) => ");
result = (a < b);
document.write(result);
document.write(linebreak);
document.write("(a > b) => ");
result = (a > b);
document.write(result);
document.write(linebreak);
document.write("(a != b) => ");
result = (a != b);
document.write(result);
document.write(linebreak);
document.write("(a >= b) => ");
result = (a >= b);
document.write(result);
document.write(linebreak);
document.write("(a <= b) => ");
result = (a <= b);
document.write(result);
document.write(linebreak);
//-->
</script>
Set the variables to different values and different operators and then try...
</body>
</html>
Produzione
(a == b) => false
(a < b) => true
(a > b) => false
(a != b) => true
(a >= b) => false
a <= b) => true
Set the variables to different values and different operators and then try...
Operatori logici
JavaScript supporta i seguenti operatori logici:
Supponiamo che la variabile A contenga 10 e la variabile B ne contenga 20, quindi -
Sr.No. | Operatore e descrizione |
---|---|
1 | && (Logical AND) Se entrambi gli operandi sono diversi da zero, la condizione diventa vera. Ex: (A && B) è vero. |
2 | || (Logical OR) Se uno dei due operandi è diverso da zero, la condizione diventa vera. Ex: (A || B) è vero. |
3 | ! (Logical NOT) Inverte lo stato logico del suo operando. Se una condizione è vera, l'operatore NOT logico la renderà falsa. Ex:! (A && B) è falso. |
Esempio
Prova il codice seguente per imparare a implementare gli operatori logici in JavaScript.
<html>
<body>
<script type = "text/javascript">
<!--
var a = true;
var b = false;
var linebreak = "<br />";
document.write("(a && b) => ");
result = (a && b);
document.write(result);
document.write(linebreak);
document.write("(a || b) => ");
result = (a || b);
document.write(result);
document.write(linebreak);
document.write("!(a && b) => ");
result = (!(a && b));
document.write(result);
document.write(linebreak);
//-->
</script>
<p>Set the variables to different values and different operators and then try...</p>
</body>
</html>
Produzione
(a && b) => false
(a || b) => true
!(a && b) => true
Set the variables to different values and different operators and then try...
Operatori bit per bit
JavaScript supporta i seguenti operatori bit per bit:
Supponiamo che la variabile A contenga 2 e la variabile B contenga 3, quindi -
Sr.No. | Operatore e descrizione |
---|---|
1 | & (Bitwise AND) Esegue un'operazione booleana AND su ogni bit dei suoi argomenti interi. Ex: (A e B) è 2. |
2 | | (BitWise OR) Esegue un'operazione booleana OR su ogni bit dei suoi argomenti interi. Ex: (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. Ex: (A ^ B) è 1. |
4 | ~ (Bitwise Not) È un operatore unario e opera invertendo tutti i bit nell'operando. Ex: (~ 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. Ex: (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. Ex: (A >> 1) è 1. |
7 | >>> (Right shift with Zero) Questo operatore è proprio come l'operatore >>, tranne per il fatto che i bit spostati a sinistra sono sempre zero. Ex: (A >>> 1) è 1. |
Esempio
Prova il codice seguente per implementare l'operatore Bitwise in JavaScript.
<html>
<body>
<script type = "text/javascript">
<!--
var a = 2; // Bit presentation 10
var b = 3; // Bit presentation 11
var linebreak = "<br />";
document.write("(a & b) => ");
result = (a & b);
document.write(result);
document.write(linebreak);
document.write("(a | b) => ");
result = (a | b);
document.write(result);
document.write(linebreak);
document.write("(a ^ b) => ");
result = (a ^ b);
document.write(result);
document.write(linebreak);
document.write("(~b) => ");
result = (~b);
document.write(result);
document.write(linebreak);
document.write("(a << b) => ");
result = (a << b);
document.write(result);
document.write(linebreak);
document.write("(a >> b) => ");
result = (a >> b);
document.write(result);
document.write(linebreak);
//-->
</script>
<p>Set the variables to different values and different operators and then try...</p>
</body>
</html>
(a & b) => 2
(a | b) => 3
(a ^ b) => 1
(~b) => -4
(a << b) => 16
(a >> b) => 0
Set the variables to different values and different operators and then try...
Operatori di assegnazione
JavaScript supporta i seguenti operatori di assegnazione:
Sr.No. | Operatore e descrizione |
---|---|
1 | = (Simple Assignment ) Assegna i valori dall'operando del lato destro all'operando del lato sinistro Ex: 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. Ex: 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. Ex: C - = A è equivalente a C = C - A |
4 | *= (Multiply and Assignment) Moltiplica l'operando destro con l'operando sinistro e assegna il risultato all'operando sinistro. Ex: 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. Ex: C / = A è equivalente a C = C / A |
6 | %= (Modules and Assignment) Richiede il modulo utilizzando due operandi e assegna il risultato all'operando sinistro. Ex: C% = A è equivalente a C = C% A |
Note - La stessa logica si applica agli operatori Bitwise, quindi diventeranno come << =, >> =, >> =, & =, | = e ^ =.
Esempio
Prova il codice seguente per implementare l'operatore di assegnazione in JavaScript.
<html>
<body>
<script type = "text/javascript">
<!--
var a = 33;
var b = 10;
var linebreak = "<br />";
document.write("Value of a => (a = b) => ");
result = (a = b);
document.write(result);
document.write(linebreak);
document.write("Value of a => (a += b) => ");
result = (a += b);
document.write(result);
document.write(linebreak);
document.write("Value of a => (a -= b) => ");
result = (a -= b);
document.write(result);
document.write(linebreak);
document.write("Value of a => (a *= b) => ");
result = (a *= b);
document.write(result);
document.write(linebreak);
document.write("Value of a => (a /= b) => ");
result = (a /= b);
document.write(result);
document.write(linebreak);
document.write("Value of a => (a %= b) => ");
result = (a %= b);
document.write(result);
document.write(linebreak);
//-->
</script>
<p>Set the variables to different values and different operators and then try...</p>
</body>
</html>
Produzione
Value of a => (a = b) => 10
Value of a => (a += b) => 20
Value of a => (a -= b) => 10
Value of a => (a *= b) => 100
Value of a => (a /= b) => 10
Value of a => (a %= b) => 0
Set the variables to different values and different operators and then try...
Operatore Varie
Discuteremo qui due operatori che sono abbastanza utili in JavaScript: il conditional operator (? :) e il typeof operator.
Operatore condizionale (? :)
L'operatore condizionale valuta prima un'espressione per un valore vero o falso e quindi esegue una delle due istruzioni fornite a seconda del risultato della valutazione.
Sr.No. | Operatore e descrizione |
---|---|
1 | ? : (Conditional ) Se la condizione è vera? Quindi valore X: altrimenti valore Y |
Esempio
Prova il codice seguente per capire come funziona l'operatore condizionale in JavaScript.
<html>
<body>
<script type = "text/javascript">
<!--
var a = 10;
var b = 20;
var linebreak = "<br />";
document.write ("((a > b) ? 100 : 200) => ");
result = (a > b) ? 100 : 200;
document.write(result);
document.write(linebreak);
document.write ("((a < b) ? 100 : 200) => ");
result = (a < b) ? 100 : 200;
document.write(result);
document.write(linebreak);
//-->
</script>
<p>Set the variables to different values and different operators and then try...</p>
</body>
</html>
Produzione
((a > b) ? 100 : 200) => 200
((a < b) ? 100 : 200) => 100
Set the variables to different values and different operators and then try...
tipo di operatore
Il typeofoperator è un operatore unario che viene posto prima del suo singolo operando, che può essere di qualsiasi tipo. Il suo valore è una stringa che indica il tipo di dati dell'operando.
L' operatore typeof restituisce "number", "string" o "boolean" se il suo operando è un numero, una stringa o un valore booleano e restituisce true o false in base alla valutazione.
Di seguito è riportato un elenco dei valori restituiti per typeof Operatore.
genere | Stringa Restituita da typeof |
---|---|
Numero | "numero" |
Corda | "corda" |
Booleano | "booleano" |
Oggetto | "oggetto" |
Funzione | "funzione" |
Non definito | "non definito" |
Nullo | "oggetto" |
Esempio
Il codice seguente mostra come implementare typeof operatore.
<html>
<body>
<script type = "text/javascript">
<!--
var a = 10;
var b = "String";
var linebreak = "<br />";
result = (typeof b == "string" ? "B is String" : "B is Numeric");
document.write("Result => ");
document.write(result);
document.write(linebreak);
result = (typeof a == "string" ? "A is String" : "A is Numeric");
document.write("Result => ");
document.write(result);
document.write(linebreak);
//-->
</script>
<p>Set the variables to different values and different operators and then try...</p>
</body>
</html>
Produzione
Result => B is String
Result => A is Numeric
Set the variables to different values and different operators and then try...