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...