Disuguaglianza per valore e tipo in JavaScript
Oltre all'operatore != esiste anche
l'operatore !==, che tiene conto del tipo durante
il confronto. Esaminiamo le differenze tra
loro con degli esempi.
Supponiamo che con l'operatore != vengano confrontati
due numeri 3. Questo operatore confronta
i valori per verificare che NON siano uguali. Dato che
i nostri valori sono effettivamente uguali, allora
la condizione sarà falsa:
if (3 != 3) {
console.log('+++');
} else {
console.log('---'); // questo verrà eseguito
}
Supponiamo ora che uno dei nostri valori sia
tra virgolette. In questo caso l'operatore !=
li considererà comunque uguali (poiché il valore coincide,
e il tipo non è importante per questo operatore)
e ancora una volta la condizione sarà falsa:
if ('3' != 3) {
console.log('+++');
} else {
console.log('---'); // questo verrà eseguito
}
Confrontiamo ora due numeri 3
con l'operatore !==. Anche lui
li considererà uguali:
if (3 !== 3) {
console.log('+++');
} else {
console.log('---'); // questo verrà eseguito
}
Ma se ora mettiamo uno dei tre tra virgolette,
l'operatore !== considererà i nostri tre
non uguali, perché, sebbene i loro valori coincidano,
hanno tipi diversi:
if ('3' !== 3) {
console.log('+++'); // questo verrà eseguito
} else {
console.log('---');
}
Senza eseguire il codice, determina cosa verrà stampato in console:
let test1 = '3';
let test2 = '3';
if (test1 != test2) {
console.log('+++');
} else {
console.log('---');
}
Senza eseguire il codice, determina cosa verrà stampato in console:
let test1 = '3';
let test2 = '3';
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}
Senza eseguire il codice, determina cosa verrà stampato in console:
let test1 = 3;
let test2 = '3';
if (test1 != test2) {
console.log('+++');
} else {
console.log('---');
}
Senza eseguire il codice, determina cosa verrà stampato in console:
let test1 = 3;
let test2 = '3';
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}
Senza eseguire il codice, determina cosa verrà stampato in console:
let test1 = 3;
let test2 = 2;
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}