厳密不等価 (!==)

厳密不等価演算子 (!==) は、二つのオペランドが等しくないことを検査し、論理値で結果を返します 不等価演算子とは異なり、厳密不等価演算子はオペランドの型が異なる場合、常に異なると判断します。

構文

x !== y

解説

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

x !== y

!(x === y)

比較アルゴリズムの詳細については、厳密等価演算子のページをご覧ください。

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

3 !== "3"; // true

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

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

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

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

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

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

オブジェクトの比較

const object1 = {
  name: "hello"
}

const object2 = {
  name: "hello"
}

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

仕様書

仕様書
ECMAScript (ECMA-262)
Equality operators の定義

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
Strict inequality (a !== b)Chrome 完全対応 1Edge 完全対応 12Firefox 完全対応 1IE 完全対応 4Opera 完全対応 4Safari 完全対応 1WebView Android 完全対応 1Chrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 10.1Safari iOS 完全対応 1Samsung Internet Android 完全対応 1.0nodejs 完全対応 0.1.100

凡例

完全対応  
完全対応

関連情報