Confronto e operatori logici vengono utilizzati per verificare true o false .
Operatori di confronto
Gli operatori di confronto sono utilizzati nelle dichiarazioni logiche per determinare l'uguaglianza o differenza tra variabili o valori.
Dato che x = 5 , la tabella che segue illustra gli operatori di confronto:
Operatore | Descrizione | confrontando | Restituisce | Provalo |
---|---|---|---|---|
== | uguale a | x == 8 | false | Provalo " |
x == 5 | true | Provalo " | ||
x == "5" | true | Provalo " | ||
=== | pari valore e pari tipo | x === 5 | true | Provalo " |
x === "5" | false | Provalo " | ||
!= | non uguale | x != 8 | true | Provalo " |
!== | Non valore uguale o diverso tipo | x !== 5 | false | Provalo " |
x !== "5" | true | Provalo " | ||
x !== 8 | true | Provalo " | ||
> | più grande di | x > 8 | false | Provalo " |
< | meno di | x < 8 | true | Provalo " |
>= | maggiore o uguale a | x >= 8 | false | Provalo " |
<= | minore o uguale a | x <= 8 | true | Provalo " |
Come può essere usato
Gli operatori di confronto possono essere utilizzati in istruzioni condizionali per confrontare i valori e agire a seconda del risultato:
if (age < 18) text = "Too young";
Si impara di più circa l'uso di istruzioni condizionali nel prossimo capitolo di questo tutorial.
Operatori logici
Gli operatori logici vengono utilizzati per determinare la logica tra le variabili o valori.
Dato che x = 6 e y = 3 , la tabella che segue illustra gli operatori logici:
Operatore | Descrizione | Esempio | Provalo |
---|---|---|---|
&& | and | (x < 10 && y > 1) is true | Provalo " |
|| | or | (x == 5 || y == 5) is false | Provalo " |
! | not | !(x == y) is true | Provalo " |
Condizionale (ternario) Operatore
JavaScript contiene anche un operatore condizionale che assegna un valore a una variabile in base a una certa condizione.
Sintassi
variablename = ( condition ) ? value1 : value2
Esempio
var
voteable = (age < 18) ? "Too young":"Old enough";
Prova tu stesso " Se l'età variabile è un valore inferiore a 18, il valore della variabile di voteable sarà "Troppo giovane", altrimenti il valore di voteable sarà "abbastanza vecchia".
Confronto fra diversi tipi
Confrontando i dati di tipo diverso può dare risultati inattesi.
Quando si confrontano una stringa con un numero, JavaScript convertirà la stringa in un numero quando si fa il confronto. Una stringa vuota converte a 0. Una stringa non numerico converte in NaN che è sempre falso.
Caso | Valore | Provare |
---|---|---|
2 < 12 | true | Provalo " |
2 < "12" | true | Provalo " |
2 < "John" | false | Provalo " |
2 > "John" | false | Provalo " |
2 == "John" | false | Provalo " |
"2" < "12" | false | Provalo " |
"2" > "12" | true | Provalo " |
"2" == "12" | false | Provalo " |
Quando si confrontano due stringhe, "2" sarà maggiore di "12", perché (in ordine alfabetico) 1 è inferiore a 2.
Per garantire un risultato corretto, le variabili devono essere convertiti nel tipo corretto prima del confronto:
age = Number(age);
if (isNaN(age)) {
voteable = "Error in input";
} else {
voteable = (age < 18) ? "Too young" : "Old enough";
}
Prova tu stesso " JavaScript Operatori bit a bit
operatori bit lavorare su numeri a 32 bit.
Qualsiasi operando numerico nel funzionamento viene convertito in un numero a 32 bit.
Il risultato viene riconvertito in un numero JavaScript.
Operatore | Descrizione | Esempio | Uguale a | Risultato | Decimale |
---|---|---|---|---|---|
& | 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 |
La tabella sopra uso 4 bit senza segno esempi. Ma JavaScript utilizza i numeri con segno a 32 bit.
A causa di questo, in JavaScript, ~ 5 non restituirà 10. Si tornerà -6:
~ 00000000000000000000000000000101 tornerà 11111111111111111111111111111010
Mettiti alla prova con esercizi!
Esercizio 1 » Esercizio 2» Esercizio 3 » Esercizio 4» Esercizio 5 » Esercizio 6»