aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/javascript/reference/operators/strict_inequality/index.md
blob: 0044e1161bfa4853f60f5e0c42181f943712b42a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
---
title: 厳密不等価 (!==)
slug: Web/JavaScript/Reference/Operators/Strict_inequality
tags:
  - JavaScript
  - 言語機能
  - 演算子
  - Reference
browser-compat: javascript.operators.strict_inequality
translation_of: Web/JavaScript/Reference/Operators/Strict_inequality
---
{{jsSidebar("Operators")}}

厳密不等価演算子 (`!==`) は、2 つのオペランドが等しくないことを検査し、論理値で結果を返します。[不等価](/ja/docs/Web/JavaScript/Reference/Operators/Inequality)演算子とは異なり、厳密不等価演算子はオペランドの型が異なる場合、常に異なると判断します。

{{EmbedInteractiveExample("pages/js/expressions-strict-inequality.html")}}

## 構文

```js
x !== y
```

## 解説

厳密不等価演算子は、オペランドが等しくないことを検査します。これは[厳密等価](/ja/docs/Web/JavaScript/Reference/Operators/Strict_equality)演算子の逆に当たるので、以下の 2 行は常に同じ結果になります。

```js
x !== y

!(x === y)
```

比較アルゴリズムの詳細については、[厳密等価](/ja/docs/Web/JavaScript/Reference/Operators/Strict_equality)演算子のページを参照して下さい。

厳密等価演算子と同様に、厳密不等価演算子はオペランドの型が異なると、常に異なるものと見なします。

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

## 例

### オペランドが同じ型である場合の比較

```js
console.log("hello" !== "hello");   // false
console.log("hello" !== "hola");    // true

console.log(3 !== 3);               // false
console.log(3 !== 4);               // true

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

console.log(null !== null);         // false
```

### オペランドが異なる型である場合の比較

```js
console.log("3" !== 3);           // true

console.log(true !== 1);          // true

console.log(null !== undefined);  // true
```

### オブジェクトの比較

```js
const object1 = {
  name: "hello"
}

const object2 = {
  name: "hello"
}

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

## 仕様書

{{Specifications}}

## ブラウザーの互換性

{{Compat}}

## 関連情報

- [等価演算子](/ja/docs/Web/JavaScript/Reference/Operators/Equality)
- [不等価演算子](/ja/docs/Web/JavaScript/Reference/Operators/Inequality)
- [厳密等価演算子](/ja/docs/Web/JavaScript/Reference/Operators/Strict_equality)