# Inequality (!=)

## 在此页

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.

## 句法

```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
```

## 范例

### Comparison with no type conversion

```1 != 2;              // true
"hello" != "hola";   // true
1 != 1;              // false
"hello" != "hello";  // false
```

### Comparison with type conversion

```"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
```

### Comparison of objects

```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 Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android 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

## 另请参阅

1. JavaScript
2. 教程：
3. 完整初学者
4. JavaScript 指南
5. 中间体
6. 高级
7. 参考：
8. 内置对象
9. 表达式 & 运算符
10. 语句 & 声明
11. 函数
12. 错误
13. 杂项