JavaScript 7 – Gleichheitsoperatoren (== vs ===)

Apr 01 2023
Unterschiede zwischen den Gleichheitsoperatoren Die Hauptunterschiede zwischen den Gleichheitsoperatoren == und === in JavaScript sind wie folgt: Vergleichen von Werten: Um zwei Werte auf Gleichheit zu vergleichen, können Sie entweder den Operator == oder === verwenden, je nachdem, ob ob Sie Typzwang durchführen möchten oder nicht. In der zweiten Zeile gibt null === undefined false zurück, da der Operator === einen strengen Vergleich durchführt, was bedeutet, dass die Operanden vor dem Vergleich nicht in einen gemeinsamen Typ konvertiert werden.

Unterschiede zwischen den Gleichheitsoperatoren

Die Hauptunterschiede zwischen den Gleichheitsoperatoren ==und ===in JavaScript sind wie folgt:

  • ==führt Type Coercion durch , was bedeutet, dass versucht wird, die Operanden vor dem Vergleich in einen gemeinsamen Typ zu konvertieren, während Type Coercion=== nicht durchgeführt wird .
  • ==prüft auf Wertgleichheit mit Zwangsmaßnahmen, während ===sowohl Wert- als auch Typgleichheit geprüft werden.

Vergleichen von Werten== : Um zwei Werte auf Gleichheit zu vergleichen, können Sie entweder den Operator oder verwenden ===, je nachdem, ob Sie eine Typumwandlung durchführen möchten oder nicht.

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

In der zweiten Zeile null === undefinedwird zurückgegeben , falseda der ===Operator einen strengen Vergleich durchführt, was bedeutet, dass die Operanden vor dem Vergleich nicht in einen gemeinsamen Typ konvertiert werden. Da nullund undefinedunterschiedliche Typen haben, werden sie nicht als gleich angesehen.

Überprüfen, ob ein Wert vorhanden ist : Wenn Sie überprüfen, ob ein Wert vorhanden ist, möchten Sie ihn möglicherweise verwenden und mit oder ==vergleichen, um zu sehen, ob er falsch ist.nullundefined

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