Riferimento per gli operatori JavaScript
Gli operatori JavaScript vengono utilizzati per assegnare valori, confrontare valori, eseguire operazioni aritmetiche e altro ancora.
Operatori aritmetici JavaScript
Gli operatori aritmetici vengono utilizzati per eseguire operazioni aritmetiche tra variabili e/o valori.
Dato che y = 5 , la tabella seguente spiega gli operatori aritmetici:
Operator | Description | Example | Result in y | Result in x | Try it |
---|---|---|---|---|---|
+ | Addition | x = y + 2 | y = 5 | x = 7 | |
- | Subtraction | x = y - 2 | y = 5 | x = 3 | |
* | Multiplication | x = y * 2 | y = 5 | x = 10 | |
/ | Division | x = y / 2 | y = 5 | x = 2.5 | |
% | Modulus (division remainder) | x = y % 2 | y = 5 | x = 1 | |
++ | Increment | x = ++y | y = 6 | x = 6 | |
x = y++ | y = 6 | x = 5 | |||
-- | Decrement | x = --y | y = 4 | x = 4 | |
x = y-- | y = 4 | x = 5 |
Per un tutorial sugli operatori aritmetici, leggi il nostro tutorial aritmetico JavaScript .
Operatori di assegnazione JavaScript
Gli operatori di assegnazione vengono utilizzati per assegnare valori alle variabili JavaScript.
Dato che x = 10 e y = 5 , la tabella seguente spiega gli operatori di assegnazione:
Operator | Example | Same As | Result in x | Try it |
---|---|---|---|---|
= | x = y | x = y | x = 5 | |
+= | x += y | x = x + y | x = 15 | |
-= | x -= y | x = x - y | x = 5 | |
*= | x *= y | x = x * y | x = 50 | |
/= | x /= y | x = x / y | x = 2 | |
%= | x %= y | x = x % y | x = 0 |
Per un tutorial sugli operatori di assegnazione, leggi il nostro tutorial di assegnazione JavaScript .
Operatori di stringa JavaScript
L'operatore + e l'operatore += possono essere utilizzati anche per concatenare (aggiungere) stringhe.
Dato che text1 = "Good " , text2 = "Morning" e text3 = "" , la tabella seguente spiega gli operatori:
Operator | Example | text1 | text2 | text3 | Try it |
---|---|---|---|---|---|
+ | text3 = text1 + text2 | "Good " | "Morning" | "Good Morning" | |
+= | text1 += text2 | "Good Morning" | "Morning" | "" |
Operatori di confronto
Gli operatori di confronto vengono utilizzati nelle istruzioni logiche per determinare l'uguaglianza o la differenza tra variabili o valori.
Dato che x = 5 , la tabella seguente spiega gli operatori di confronto:
Operator | Description | Comparing | Returns | Try it |
---|---|---|---|---|
== | equal to | x == 8 | false | |
x == 5 | true | |||
=== | equal value and equal type | x === "5" | false | |
x === 5 | true | |||
!= | not equal | x != 8 | true | |
!== | not equal value or not equal type | x !== "5" | true | |
x !== 5 | false | |||
> | greater than | x > 8 | false | |
< | less than | x < 8 | true | |
>= | greater than or equal to | x >= 8 | false | |
<= | less than or equal to | x <= 8 | true |
Per un tutorial sugli operatori di confronto, leggi il nostro tutorial sui confronti JavaScript .
Operatore condizionale (ternario).
L'operatore condizionale assegna un valore a una variabile in base a una condizione.
Syntax | Example | Try it |
---|---|---|
variablename = (condition) ? value1:value2 | voteable = (age < 18) ? "Too young":"Old enough"; |
Esempio spiegato: se la variabile "età" è un valore inferiore a 18, il valore della variabile "votabile" sarà "troppo giovane", altrimenti il valore di votabile sarà "abbastanza grande".
Operatori logici
Gli operatori logici vengono utilizzati per determinare la logica tra variabili o valori.
Dato che x = 6 e y = 3 , la tabella seguente spiega gli operatori logici:
Operator | Description | Example | Try it |
---|---|---|---|
&& | and | (x < 10 && y > 1) is true | |
|| | or | (x === 5 || y === 5) is false | |
! | not | !(x === y) is true |
JavaScript operatori bit a bit
Gli operatori di bit funzionano su numeri a 32 bit. Qualsiasi operando numerico nell'operazione viene convertito in un numero a 32 bit. Il risultato viene riconvertito in un numero JavaScript.
Operator | Description | Example | Same as | Result | Decimal |
---|---|---|---|---|---|
& | AND | x = 5 & 1 | 0101 & 0001 | 0001 | 1 |
| | OR | x = 5 | 1 | 0101 | 0001 | 0101 | 5 |
~ | NOT | x = ~ 5 | ~0101 | 1010 | 10 |
^ | XOR | x = 5 ^ 1 | 0101 ^ 0001 | 0100 | 4 |
<< | Left shift | x = 5 << 1 | 0101 << 1 | 1010 | 10 |
>> | Right shift | x = 5 >> 1 | 0101 >> 1 | 0010 | 2 |
Gli esempi precedenti utilizzano esempi senza segno a 4 bit. Ma JavaScript utilizza numeri con segno a 32 bit.
Per questo motivo, in JavaScript, ~ 5 non restituirà 10. Restituirà -6.
~000000000000000000000000000000101 restituirà 1111111111111111111111111111111111010
Il tipo di operatore
L' operatore typeof restituisce il tipo di una variabile, oggetto, funzione o espressione:
Esempio
typeof "John"
// Returns string
typeof 3.14
// Returns number
typeof NaN
// Returns number
typeof false
// Returns boolean
typeof [1, 2, 3, 4] // Returns object
typeof {name:'John', age:34}
// Returns object
typeof new Date()
// Returns object
typeof function () {} // Returns function
typeof myCar
// Returns undefined (if myCar is not declared)
typeof null
// Returns object
Si prega di osservare:
- Il tipo di dati di NaN è numero
- Il tipo di dati di un array è oggetto
- Il tipo di dati di una data è oggetto
- Il tipo di dati di null è oggetto
- Il tipo di dati di una variabile non definita non è definito
Non è possibile utilizzare typeof per definire se un oggetto JavaScript è un array (o una data).
L'operatore di eliminazione
L' operatore delete elimina una proprietà da un oggetto:
Esempio
const person = {
firstName:"John",
lastName:"Doe",
age:50,
eyeColor:"blue"
};
delete person.age; // or delete person["age"];
L'operatore delete elimina sia il valore della proprietà che la proprietà stessa.
Dopo l'eliminazione, la proprietà non può essere utilizzata prima di essere nuovamente aggiunta.
L'operatore di eliminazione è progettato per essere utilizzato sulle proprietà dell'oggetto. Non ha effetto su variabili o funzioni.
Nota: l'operatore di eliminazione non deve essere utilizzato sulle proprietà degli oggetti JavaScript predefiniti. Può mandare in crash la tua applicazione.
L'operatore in
L' operatore in restituisce true se la proprietà specificata si trova nell'oggetto specificato, altrimenti false:
Esempio
// Arrays
const cars = ["Saab", "Volvo", "BMW"];
"Saab" in cars // Returns false (specify the index number instead of value)
0 in cars // Returns true
1 in cars // Returns true
4 in cars // Returns false (does not exist)
"length" in cars // Returns true (length is an Array property)
// Objects
const person = {firstName:"John", lastName:"Doe", age:50};
"firstName" in person // Returns true
"age" in person // Returns true
// Predefined objects
"PI" in Math // Returns true
"NaN" in Number // Returns true
"length" in String // Returns true
L'istanza dell'operatore
L' operatore instanceof restituisce true se l'oggetto specificato è un'istanza dell'oggetto specificato:
Esempio
const cars = ["Saab", "Volvo", "BMW"];
(cars instanceof Array) // Returns true
(cars instanceof Object) // Returns true
(cars instanceof String) // Returns false
(cars instanceof Number) // Returns false
L'operatore del vuoto
L' operatore void valuta un'espressione e restituisce undefined . Questo operatore viene spesso utilizzato per ottenere il valore primitivo indefinito, utilizzando "void(0)" (utile quando si valuta un'espressione senza utilizzare il valore restituito).
Esempio
<a href="#;">
Useless link
</a>
<a href="javascript:void(document.body.style.backgroundColor='red');">
Click me to change the background color of body to red
</a>