Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

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

Object() コンストラクター

BaselineWidely available

Object() コンストラクターは、入力されたものをオブジェクトに変換します。その動作は入力したものの型によって異なります。

構文

js
new Object()new Object(value)Object()Object(value)

メモ:Object()new を付けてもつけなくても呼び出すことができますが、一部の効果が異なることがあります。返値を参照してください。

引数

value省略可

任意の値。

返値

Object() コンストラクター自体がが呼び出された場合や構築された場合、返値はオブジェクトになります。

  • 値がnull またはundefined の場合は、空のオブジェクトを作成して返します。
  • 値がすでにオブジェクトである場合は、その値を返します。
  • そうでない場合は、指定された値に対応する型のオブジェクトを返します。例えば、長整数型プリミティブを渡すと、BigInt ラッパーオブジェクトを返します。

Object() が構築され、new.targetObject コンストラクター自体でない場合、動作は少し異なります。引数の値は無視されます。これは例えば、Object を継承したクラスのコンストラクターで、Object()super() を介して暗黙的に呼び出された場合に発生することがあります。この場合、たとえsuper() に数値を渡しても、コンストラクター内のthis 値はNumber インスタンスにはなりません。

新しい Object の生成

js
const o = new Object();o.foo = 42;console.log(o);// { foo: 42 }

undefinednull 型を指定してObject を使用

以下の例は、空のObject オブジェクトをo に格納します。

js
const o = new Object();
js
const o = new Object(undefined);
js
const o = new Object(null);

BigInt や Symbol のラッパーオブジェクトの取得

BigInt() およびSymbol() コンストラクターは、new で呼び出されるとエラーを発生します。これは、プリミティブ値ではなくラッパーオブジェクトを作成してしまうというよくある間違いを防ぐためです。これらの型のラッパーオブジェクトを作成する唯一の方法は、これらの型でObject() を呼び出すことです。

js
const numberObj = new Number(1);console.log(typeof numberObj); // "object"const bigintObj = Object(1n);console.log(typeof bigintObj); // "object"const symbolObj = Object(Symbol("foo"));console.log(typeof symbolObj); // "object"

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-object-constructor

ブラウザーの互換性

関連情報

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp