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:

javascriptif (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:

javascriptif ('3' != 3) {
  console.log('+++');
} else {
  console.log('---'); // questo verrà eseguito
}

Confrontiamo ora due numeri 3 con l'operatore !==. Anche lui li considererà uguali:

javascriptif (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:

javascriptif ('3' !== 3) {
  console.log('+++'); // questo verrà eseguito
} else {
  console.log('---');
}
Задание 1

Senza eseguire il codice, determina cosa verrà stampato in console:

javascriptlet test1 = '3';
let test2 = '3';
    
if (test1 != test2) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 2

Senza eseguire il codice, determina cosa verrà stampato in console:

javascriptlet test1 = '3';
let test2 = '3';
    
if (test1 !== test2) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 3

Senza eseguire il codice, determina cosa verrà stampato in console:

javascriptlet test1 = 3;
let test2 = '3';
    
if (test1 != test2) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 4

Senza eseguire il codice, determina cosa verrà stampato in console:

javascriptlet test1 = 3;
let test2 = '3';
    
if (test1 !== test2) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 5

Senza eseguire il codice, determina cosa verrà stampato in console:

javascriptlet test1 = 3;
let test2 = 2;
    
if (test1 !== test2) {
  console.log('+++');
} else {
  console.log('---');
}