Movatterモバイル変換


[0]ホーム

URL:


  1. 開発者向けのウェブ技術
  2. JavaScript
  3. JavaScript リファレンス
  4. 標準組み込みオブジェクト
  5. Object
  6. is()

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。

View in EnglishAlways switch to English

Object.is()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015年9月⁩.

Object.is() は静的メソッドで、 2 つの値が同一値であるかどうかを判定します。

試してみましょう

console.log(Object.is("1", 1));// 予想される結果: falseconsole.log(Object.is(NaN, NaN));// 予想される結果: trueconsole.log(Object.is(-0, 0));// 予想される結果: falseconst obj = {};console.log(Object.is(obj, {}));// 予想される結果: false

構文

js
Object.is(value1, value2)

引数

value1

比較する 1 つ目の値。

value2

比較する 2 つ目の値。

返値

論理値で、 2 つの引数が同一値であるかどうかを表します。

解説

Object.is() は 2 つの値が同一値であるかどうかを判定します。2 つの値が以下の規則の一つに当てはまる場合に同一となります。

  • どちらもundefined
  • どちらもnull
  • どちらもtrue かどちらもfalse
  • どちらも同じ文字群が同じ順で並ぶ同じ長さの文字列
  • どちらも同じオブジェクト(すなわち両方の値がメモリー内の同じオブジェクトを参照)
  • どちらも同じ数値の長整数
  • どちらも同じシンボル値のシンボル
  • どちらも数で、
    • どちらも+0
    • どちらも-0
    • どちらもNaN
    • あるいはどちらもゼロ以外でNaN でなく、同じ数値を持つ

Object.is()== 演算子と等価ではありません。== 演算子は等価性比較の前に(同じ型でなければ)両辺に対して様々な型変換を適用します(結果、例えば"" == falsetrue と評価されます)が、Object.is() は両辺どちらの値にも型変換を行いません。

また、Object.is()=== 演算子とも同じでもありませんObject.is()=== の唯一の違いは、符号付きのゼロとNaN の扱です。=== 演算子は(そして== 演算子も)数値-0+0 は同じものとして扱う一方、NaN は異なるものとして扱います。

Object.is() の使用

js
// ケース 1: === を用いるのと同じ結果になる評価式Object.is(25, 25); // trueObject.is("foo", "foo"); // trueObject.is("foo", "bar"); // falseObject.is(null, null); // trueObject.is(undefined, undefined); // trueObject.is(window, window); // trueObject.is([], []); // falseconst foo = { a: 1 };const bar = { a: 1 };const sameFoo = foo;Object.is(foo, foo); // trueObject.is(foo, bar); // falseObject.is(foo, sameFoo); // true// ケース 2: 符号付きのゼロObject.is(0, -0); // falseObject.is(+0, -0); // falseObject.is(-0, -0); // true// ケース 3: NaNObject.is(NaN, 0 / 0); // trueObject.is(NaN, Number.NaN); // true

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-object.is

ブラウザーの互換性

関連情報

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp