コンテンツにスキップ

JavaScript/Object/is

出典: フリー教科書『ウィキブックス(Wikibooks)』

Object.is() は、2つの値が同じかどうかを厳密に比較するメソッドです。このメソッドは、=== 演算子と似ていますが、NaN+0/-0 の比較において異なる挙動を示します[1]

構文

[編集]
Object.is(value1,value2)
  • value1: 比較する最初の値。
  • value2: 比較する2番目の値。

[編集]

値の比較を行うプログラム

[編集]

以下のプログラムは、Object.is() を使用して2つの値を比較します。

console.log(Object.is(1,1));// trueconsole.log(Object.is('hello','hello'));// trueconsole.log(Object.is(true,false));// falseconsole.log(Object.is(null,undefined));// false

このプログラムでは、Object.is() を使用してさまざまな値の比較を行っています。11'hello''hello' は同じ値であるため true が返されますが、truefalsenullundefined は異なる値であるため false が返されます。

NaN の比較を行うプログラム

[編集]

以下のプログラムは、Object.is() を使用して NaN の比較を行います。

console.log(Object.is(NaN,NaN));// trueconsole.log(NaN===NaN);// false

このプログラムでは、Object.is() を使用して NaNNaN を比較しています。Object.is()NaN を同じ値として扱うため true が返されますが、=== 演算子は NaN を同じ値として扱わないため false が返されます。

+0 と -0 の比較を行うプログラム

[編集]

以下のプログラムは、Object.is() を使用して +0-0 の比較を行います。

console.log(Object.is(+0,-0));// falseconsole.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() は、=== 演算子と同様に、型と値の両方を厳密に比較します。

脚註

[編集]
  1. ^これは、値の厳密な比較を行うために使用されます。

外部リンク

[編集]


close