Gli ultimi tutorial di sviluppo web
 

JavaScript Confronto e Operatori logici


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 == 8false Provalo "
x == 5true Provalo "
x == "5"true Provalo "
=== pari valore e pari tipo x === 5true Provalo "
x === "5"false Provalo "
!= non uguale x != 8true Provalo "
!== Non valore uguale o diverso tipo x !== 5false Provalo "
x !== "5"true Provalo "
x !== 8true Provalo "
> più grande di x > 8false Provalo "
< meno di x < 8true Provalo "
>= maggiore o uguale a x >= 8false Provalo "
<= minore o uguale a x <= 8true 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 < 12true 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

Esempio

x = 5 & 1;

Il risultato in x:

1
Prova tu stesso "

Esempio

x = 5 | 1;

Il risultato in x:

5
Prova tu stesso "

Esempio

x = 5 >> 1;

Il risultato in x:

2
Prova tu stesso "

Esempio

x = 5 << 1;

Il risultato in x:

10
Prova tu stesso "

Esempio

x = ~ 5;

Il risultato in x:

-6
Prova tu stesso "

Mettiti alla prova con esercizi!

Esercizio 1 » Esercizio 2» Esercizio 3 » Esercizio 4» Esercizio 5 » Esercizio 6»