JavaScript

!==(厳密不等価演算子、不同値演算子)

 編集:2022.08.07 by T.A.

二つのオペランドが等しくないことを検査し、論理値で結果を返します。

不等価演算子とは異なり、厳密不等価演算子はオペランドの型が異なる場合、常に異なると判断します。

X !== Y
X オペランド1
Y オペランド2

厳密不等価演算子は、オペランドが等しくないことを検査します。これは厳密等価演算子の逆に当たるので、以下の2行は常に同じ結果を生み出します。

x !== y
!(x === y)

厳密等価演算子(=== および !==)は、厳密等価比較アルゴリズムを使用して二つのオペランドを比較します。

この演算子と等価(==)演算子の最も顕著な違いは、オペランドの型が異なる場合、== 演算子は比較前に同じ型に変換しようとすることです。

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

D="hello" !== "hello";	//=false
D="hello" !== "hola";	//=true

D=3 !== 3;	//=false
D=3 !== 4;	//=true

D=true !== true;	//=false
D=true !== false;	//=true

D=null !== null;	//=false

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

D="3" !== 3;	//=true

D=true !== 1;	//=true

D=null !== undefined;	//=true

オブジェクトの比較:

const object1 = {name:"hello"}
const object2 = {name:"hello"}

D=object1 !== object2;	//=true
D=object1 !== object1;	//=false

テスト