--- title: 厳密等価 (===) slug: Web/JavaScript/Reference/Operators/Strict_equality tags: - JavaScript - Language feature - Operator - Reference - 演算子 - 言語機能 translation_of: Web/JavaScript/Reference/Operators/Strict_equality ---
厳密等価演算子 (===
) は、二つのオペランドが等しいことを検査し、論理値で結果を返します 等価演算子とは異なり、厳密等価演算子はオペランドの型が異なる場合、常に異なるものと判断します。
x === y
厳密等価演算子 (===
および !==
) は、厳密等価比較アルゴリズムを使用して二つのオペランドを比較します。
false
を返します。true
を返します。null
または両方のオペランドが undefined
であった場合は true
を返します。NaN
であった場合は false
を返します。+0
と -0
は同じ値と見なされます。true
であるか両方が false
である必要があります。この演算子と等価 (==
) 演算子の最も顕著な違いは、オペランドの型が異なる場合、 ==
演算子は比較前に同じ型に変換しようとすることです。
console.log("hello" === "hello"); // true console.log("hello" === "hola"); // false console.log(3 === 3); // true console.log(3 === 4); // false console.log(true === true); // true console.log(true === false); // false console.log(null === null); // true
console.log("3" === 3); // false console.log(true === 1); // false console.log(null === undefined); // false
const object1 = { name: "hello" } const object2 = { name: "hello" } console.log(object1 === object2); // false console.log(object1 === object1); // true
仕様書 |
---|
{{SpecName('ESDraft', '#sec-equality-operators', 'Equality operators')}} |
{{Compat("javascript.operators.strict_inequality")}}