Inégalité en valeur et en type en JavaScript

En plus de l'opérateur !=, il existe également l'opérateur !==, qui prend en compte le type lors de la comparaison. Examinons leurs différences à travers des exemples.

Supposons que deux nombres 3 soient comparés avec l'opérateur !=. Cet opérateur compare les valeurs pour vérifier qu'elles ne sont PAS égales. Étant donné que nos valeurs sont justement égales, la condition sera fausse :

javascriptif (3 != 3) {
  console.log('+++');
} else {
  console.log('---'); // ceci s'exécutera
}

Supposons maintenant qu'une de nos valeurs soit entre guillemets. Dans ce cas, l'opérateur != les considérera toujours comme égales (car la valeur correspond, et le type n'est pas important pour cet opérateur) et la condition sera encore fausse :

javascriptif ('3' != 3) {
  console.log('+++');
} else {
  console.log('---'); // ceci s'exécutera
}

Comparons maintenant deux nombres 3 avec l'opérateur !==. Il les considérera également comme égaux :

javascriptif (3 !== 3) {
  console.log('+++');
} else {
  console.log('---'); // ceci s'exécutera
}

Mais si maintenant on met l'un des trois entre guillemets, l'opérateur !== considérera nos triple comme inégaux, car, bien que leurs valeurs correspondent, elles sont de types différents :

javascriptif ('3' !== 3) {
  console.log('+++'); // ceci s'exécutera
} else {
  console.log('---');
}
Задание 1

Sans exécuter le code, déterminez ce qui sera affiché dans la console :

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

Sans exécuter le code, déterminez ce qui sera affiché dans la console :

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

Sans exécuter le code, déterminez ce qui sera affiché dans la console :

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

Sans exécuter le code, déterminez ce qui sera affiché dans la console :

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

Sans exécuter le code, déterminez ce qui sera affiché dans la console :

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