**概要:** このチュートリアルでは、JavaScript Object.is()
メソッドについて学習し、2 つの値が同じかどうかを確認する方法についてご紹介します。
Object.is()
は ===
演算子と同じように動作しますが、2 つの違いがあります。
- -0 と +0
- NaN
負のゼロ
===
演算子は -0
と +0
を同じ値として扱います。
let amount = +0,
volume = -0;
console.log(volume === amount);
Code language: JavaScript (javascript)
出力
true
Code language: JavaScript (javascript)
ただし、Object.is()
は +0 と -0 を異なる値として扱います。たとえば
let amount = +0,
volume = -0;
console.log(Object.is(amount, volume));
Code language: JavaScript (javascript)
出力
false
Code language: JavaScript (javascript)
NaN
===
演算子は NaN
と NaN
を異なる値と見なします。NaN
はそれ自体に等しくない唯一の数です。たとえば
let quantity = NaN;
console.log(quantity === quantity);
Code language: JavaScript (javascript)
出力
false
ただし、Object.is()
は NaN
を同じ値として扱います。
let quantity = NaN;
console.log(Object.is(quantity, quantity));
出力
true
参照用に以下の同一性の比較表を参照してください。
このチュートリアルは役に立ちましたか?