【Node.js24.x】Object::is()メソッドの使い方
isメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
isメソッドは、2つの値が同じかどうかを比較し、その結果を真偽値(trueまたはfalse)で返すメソッドです。このメソッドは、JavaScriptの厳密等価演算子である===と非常に似ていますが、いくつかの点で異なる振る舞いをします。
まず、Object.is()メソッドは、両方の値がNaN(Not-a-Number)である場合にtrueを返します。これはNaN === NaNがfalseとなる===演算子とは異なる点です。例えば、Object.is(NaN, NaN)はtrueを返しますが、NaN === NaNはfalseとなります。
次に、Object.is()メソッドは、正のゼロ(+0)と負のゼロ(-0)を異なる値として扱います。したがって、Object.is(+0, -0)はfalseを返します。これも+0 === -0がtrueとなる===演算子とは異なる振る舞いです。
これらの違いを除けば、Object.is()メソッドは===演算子と同じように機能します。特にNaN同士の等価性や、+0と-0を区別したいような、より厳密な値の比較が必要な場合に有用です。一般的な値の比較には===演算子で十分ですが、これらの特殊なケースを正確に扱いたい場合にObject.is()メソッドを使用してください。
構文(syntax)
1console.log(Object.is(NaN, NaN)); 2console.log(Object.is(0, -0)); 3console.log(Object.is(5, 5)); 4console.log(Object.is('hello', 'world'));
引数(parameters)
value1, value2
- value1: any: 比較する1つ目の値
- value2: any: 比較する2つ目の値
戻り値(return)
Boolean
Object.is() メソッドは、2つの引数が厳密に等しいかどうかを判定し、その結果を真偽値(Boolean)で返します。