Ungleichheit (!=)

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Der Ungleichheitsoperator (!=) prüft, ob seine beiden Operanden nicht gleich sind und gibt ein Boolean-Ergebnis zurück. Im Gegensatz zum strikten Ungleichheitsoperator versucht er, Operanden unterschiedlicher Typen zu konvertieren und zu vergleichen.

Probieren Sie es aus

console.log(1 != 1);
// Expected output: false

console.log("hello" != "hello");
// Expected output: false

console.log("1" != 1);
// Expected output: false

console.log(0 != false);
// Expected output: false

Syntax

js
x != y

Beschreibung

Der Ungleichheitsoperator prüft, ob seine Operanden ungleich sind. Er ist die Negation des Gleichheitsoperators, sodass die folgenden zwei Zeilen immer das gleiche Ergebnis liefern werden:

js
x != y;

!(x == y);

Für Details des Vergleichsalgorithmus siehe die Seite für den Gleichheitsoperator.

Wie der Gleichheitsoperator versucht auch der Ungleichheitsoperator, Operanden unterschiedlicher Typen zu konvertieren und zu vergleichen:

js
3 != "3"; // false

Um dies zu verhindern und sicherzustellen, dass unterschiedliche Typen als unterschiedlich angesehen werden, verwenden Sie stattdessen den strikten Ungleichheitsoperator:

js
3 !== "3"; // true

Beispiele

Vergleich ohne Typkonvertierung

js
1 != 2; // true
"hello" != "hola"; // true

1 != 1; // false
"hello" != "hello"; // false

Vergleich mit Typkonvertierung

js
"1" != 1; // false
1 != "1"; // false
0 != false; // false
0 != null; // true
0 != undefined; // true
0 != !!null; // false, look at Logical NOT operator
0 != !!undefined; // false, look at Logical NOT operator
null != undefined; // false

const number1 = new Number(3);
const number2 = new Number(3);
number1 != 3; // false
number1 != number2; // true

Vergleich von Objekten

js
const object1 = {
  key: "value",
};

const object2 = {
  key: "value",
};

console.log(object1 != object2); // true
console.log(object1 != object1); // false

Spezifikationen

Specification
ECMAScript® 2025 Language Specification
# sec-equality-operators

Browser-Kompatibilität

Siehe auch