Inequality (!=)
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.
Theinequality (!=) operator checks whether its two operands are notequal, returning a Boolean result.Unlike thestrict inequality operator,it attempts to convert and compare operands that are of different types.
In this article
Try it
console.log(1 != 1);// Expected output: falseconsole.log("hello" != "hello");// Expected output: falseconsole.log("1" != 1);// Expected output: falseconsole.log(0 != false);// Expected output: falseSyntax
x != yDescription
The inequality operator checks whether its operands are not equal. It is the negationof theequalityoperator so the following two lines will always give the same result:
x != y;!(x == y);For details of the comparison algorithm, see the page for theequality operator.
Like the equality operator, the inequality operator will attempt to convert and compareoperands of different types:
3 != "3"; // falseTo prevent this, and require that different types are considered to be different, usethestrict inequality operator instead:
3 !== "3"; // trueExamples
>Comparison with no type conversion
1 != 2; // true"hello" != "hola"; // true1 != 1; // false"hello" != "hello"; // falseComparison with type conversion
"1" != 1; // false1 != "1"; // false0 != false; // false0 != null; // true0 != undefined; // true0 != !!null; // false, look at Logical NOT operator0 != !!undefined; // false, look at Logical NOT operatornull != undefined; // falseconst number1 = new Number(3);const number2 = new Number(3);number1 != 3; // falsenumber1 != number2; // trueComparison of objects
const object1 = { key: "value",};const object2 = { key: "value",};console.log(object1 != object2); // trueconsole.log(object1 != object1); // falseSpecifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-equality-operators> |