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 boolesches Ergebnis zurück. Im Gegensatz zum strikten Ungleichheits-Operator versucht er, Operanden verschiedener 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
x != y
Beschreibung
Der Ungleichheitsoperator prüft, ob seine Operanden nicht gleich sind. Er ist die Negation des Gleichheits-Operators, daher werden die folgenden beiden Zeilen immer dasselbe Ergebnis liefern:
x != y;
!(x == y);
Details zum Vergleichsalgorithmus finden Sie auf der Seite des Gleichheits-Operators.
Wie der Gleichheitsoperator wird der Ungleichheitsoperator versuchen, Operanden verschiedener Typen zu konvertieren und zu vergleichen:
3 != "3"; // false
Um dies zu verhindern und zu verlangen, dass verschiedene Typen als unterschiedlich betrachtet werden, verwenden Sie stattdessen den strikten Ungleichheits-Operator:
3 !== "3"; // true
Beispiele
Vergleich ohne Typkonvertierung
1 != 2; // true
"hello" != "hola"; // true
1 != 1; // false
"hello" != "hello"; // false
Vergleich mit Typkonvertierung
"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
const object1 = {
key: "value",
};
const object2 = {
key: "value",
};
console.log(object1 != object2); // true
console.log(object1 != object1); // false
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-equality-operators |