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 :
if (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 :
if ('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 :
if (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 :
if ('3' !== 3) {
console.log('+++'); // ceci s'exécutera
} 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('---');
}
Sans exécuter le code, déterminez ce qui sera affiché dans la console :
let test1 = 3;
let test2 = 2;
if (test1 !== test2) {
console.log('+++');
} else {
console.log('---');
}