Égalité par valeur et par type en JavaScript

Supposons que vous souhaitiez comparer de telle sorte que le nombre entre guillemets ne soit pas égal au même nombre sans guillemets. En d'autres termes, vous voulez comparer de manière à ce que la comparaison ne soit pas seulement par valeur, mais aussi par type de données.

Pour cela, au lieu de l'opérateur ==, il faut utiliser l'opérateur ===. Dans l'exemple suivant, lors de la comparaison de la chaîne '3' et du nombre 3, la condition sera fausse, car les variables, bien qu'égales en valeur, ne sont pas égales en type :

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

En revanche, lors de la comparaison de deux chaînes '3' la condition sera vraie :

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

De même, lors de la comparaison de nombres :

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

La différence entre l'opérateur == et l'opérateur === apparaît précisément lorsque les valeurs sont identiques, mais que le type de données est différent. Dans les autres cas, ces opérateurs fonctionnent de la même manière. Par exemple, lors de la comparaison de nombres différents, bien sûr, '---' sera affiché :

javascriptif (2 === 3) {
  console.log('+++');
} else {
  console.log('---'); // c'est ceci qui s'exécutera
}
Задание 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 = 3;
    
if (test1 === test2) {
  console.log('+++');
} else {
  console.log('---');
}