JavaScript/Object/is
表示
< JavaScript | Object
Object.is() は、2つの値が同じかどうかを厳密に比較するメソッドです。このメソッドは、=== 演算子と似ていますが、NaN と +0/-0 の比較において異なる挙動を示します[1]。
構文
[編集]Object.is(value1, value2)
value1: 比較する最初の値。value2: 比較する2番目の値。
例
[編集]値の比較を行うプログラム
[編集]以下のプログラムは、Object.is() を使用して2つの値を比較します。
console.log(Object.is(1, 1)); // true console.log(Object.is('hello', 'hello')); // true console.log(Object.is(true, false)); // false console.log(Object.is(null, undefined)); // false
このプログラムでは、Object.is() を使用してさまざまな値の比較を行っています。1 と 1、'hello' と 'hello' は同じ値であるため true が返されますが、true と false、null と undefined は異なる値であるため false が返されます。
NaN の比較を行うプログラム
[編集]以下のプログラムは、Object.is() を使用して NaN の比較を行います。
console.log(Object.is(NaN, NaN)); // true console.log(NaN === NaN); // false
このプログラムでは、Object.is() を使用して NaN と NaN を比較しています。Object.is() は NaN を同じ値として扱うため true が返されますが、=== 演算子は NaN を同じ値として扱わないため false が返されます。
+0 と -0 の比較を行うプログラム
[編集]以下のプログラムは、Object.is() を使用して +0 と -0 の比較を行います。
console.log(Object.is(+0, -0)); // false console.log(+0 === -0); // true
このプログラムでは、Object.is() を使用して +0 と -0 を比較しています。Object.is() は +0 と -0 を異なる値として扱うため false が返されますが、=== 演算子は +0 と -0 を同じ値として扱うため true が返されます。
注意点
[編集]- NaN の比較:
Object.is()は、NaNを同じ値として扱います。 - +0 と -0 の比較:
Object.is()は、+0と-0を異なる値として扱います。 - 厳密な比較:
Object.is()は、===演算子と同様に、型と値の両方を厳密に比較します。
脚註
[編集]- ^ これは、値の厳密な比較を行うために使用されます。
外部リンク
[編集]