JavaScript Object.is()

**概要:** このチュートリアルでは、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)

出力

trueCode language: JavaScript (javascript)

ただし、Object.is() は +0 と -0 を異なる値として扱います。たとえば

let amount = +0,
    volume = -0;
console.log(Object.is(amount, volume));Code language: JavaScript (javascript)

出力

falseCode language: JavaScript (javascript)

NaN

=== 演算子は NaNNaN を異なる値と見なします。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


参照用に以下の同一性の比較表を参照してください。

JavaScript sameness comparison table

このチュートリアルは役に立ちましたか?