É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 :
if ('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 :
if ('3' === '3') {
console.log('+++'); // c'est ceci qui s'exécutera
} else {
console.log('---');
}
De même, lors de la comparaison de nombres :
if (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é :
if (2 === 3) {
console.log('+++');
} else {
console.log('---'); // c'est ceci qui s'exécutera
}
Sans exécuter le code, déterminez ce qui sera affiché dans la console :
let test1 = '3';
let test2 = '3';
if (test1 == test2) {
console.log('+++');
} else {
console.log('---');
}
Sans exécuter le code, déterminez ce qui sera affiché dans la console :
let test1 = '3';
let test2 = '3';
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}
Sans exécuter le code, déterminez ce qui sera affiché dans la console :
let test1 = 3;
let test2 = '3';
if (test1 == test2) {
console.log('+++');
} else {
console.log('---');
}
Sans exécuter le code, déterminez ce qui sera affiché dans la console :
let test1 = 3;
let test2 = '3';
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}
Sans exécuter le code, déterminez ce qui sera affiché dans la console :
let test1 = 3;
let test2 = 3;
if (test1 === test2) {
console.log('+++');
} else {
console.log('---');
}