JavaScript 7 — Opérateurs d'égalité (== vs ===)

Apr 01 2023
Différences entre les opérateurs d'égalité Les principales différences entre les opérateurs d'égalité == et === en JavaScript sont les suivantes : Comparaison de valeurs : pour comparer deux valeurs d'égalité, vous pouvez utiliser l'opérateur == ou ===, selon que vous souhaitez effectuer ou non une coercition de type. Dans la deuxième ligne, null === undefined renvoie false car l'opérateur === effectue une comparaison stricte, ce qui signifie que les opérandes ne sont pas convertis en un type commun avant de les comparer.

Différences entre les opérateurs d'égalité

Les principales différences entre les opérateurs d'égalité ==et ===JavaScript sont les suivantes :

  • ==effectue une coercition de type , ce qui signifie qu'il essaiera de convertir les opérandes en un type commun avant la comparaison, alors qu'il ===n'effectue pas de coercition de type .
  • ==vérifie l'égalité des valeurs avec coercition, tandis que ===vérifie à la fois l'égalité des valeurs et des types.

Comparaison de valeurs : pour comparer deux valeurs d'égalité, vous pouvez utiliser l' opérateur ==ou ===, selon que vous souhaitez effectuer ou non une coercition de type.

const num1 = 10;
const num2 = '10';
console.log(num1 == num2); // Output: true (value equality with coercion)
console.log(num1 === num2); // Output: false (type inequality)

const day = 'Monday';
switch(day) {
  case 'Monday':
    console.log('Today is Monday');
    break;
  case 'Tuesday':
    console.log('Today is Tuesday');
    break;
  default:
    console.log('Today is not Monday or Tuesday');
    break;
}

let x = null;
let y;

console.log(x == null); // Output: true
console.log(y == undefined); // Output: true
console.log(x === null); // Output: true
console.log(y === undefined); // Output: true

console.log(null == undefined); // true
console.log(null === undefined); // false

Dans la deuxième ligne, null === undefinedrenvoie falsecar l' ===opérateur effectue une comparaison stricte, ce qui signifie que les opérandes ne sont pas convertis en un type commun avant de les comparer. Puisque nullet undefinedont des types différents, ils ne sont pas considérés comme égaux.

Vérifier si une valeur existe : Lorsque vous vérifiez si une valeur existe, vous pouvez ==l'utiliser et la comparer avec nullou undefinedpour voir si elle est fausse.

const myValue = '';
if (myValue == null) {
  console.log('The value is null or undefined');
}

const obj1 = { name: 'John' };
const obj2 = { name: 'John' };
const obj3 = obj1;
console.log(obj1 == obj2); // Output: false
console.log(obj1 === obj2); // Output: false
console.log(obj1 === obj3); // Output: true