--- 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")}}