The inequality operator (
!=
) checks whether its two operands are not equal, returning a Boolean result. Unlike the
strict inequality
operator, it attempts to convert and compare operands that are of different types.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
x != y
The inequality operator checks whether its operands are not equal. It is the negation of the equality operator 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 the equality operator.
Like the equality operator, the inequality operator will attempt to convert and compare operands of different types:
3 != "3"; // false
To prevent this, and require that different types are considered to be different, use the strict inequality operator instead:
3 !== "3"; // true
1 != 2; // true "hello" != "hola"; // true 1 != 1; // false "hello" != "hello"; // false
"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
const object1 = {"key": "value"}
const object2 = {"key": "value"};
object1 != object2 // true
object2 != object2 // false
| 规范 |
|---|
|
ECMAScript (ECMA-262)
The definition of 'Equality operators' in that specification. |
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Inequality (
a != b
)
|
Chrome 1 | Edge 12 | Firefox 1 | IE 3 | Opera 3 | Safari 1 | WebView Android 1 | Chrome Android 18 | Firefox Android 4 | Opera Android 10.1 | Safari iOS 1 | Samsung Internet Android 1.0 | nodejs 0.1.100 |
完整支持