Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

Object() constructor

BaselineWidely available

TheObject() constructor turns the input into an object. Its behavior depends on the input's type.

Syntax

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

Note:Object() can be called with or withoutnew, but sometimes with different effects. SeeReturn value.

Parameters

valueOptional

Any value.

Return value

When theObject() constructor itself is called or constructed, its return value is an object:

  • If the value isnull orundefined, it creates and returns an empty object.
  • If the value is an object already, it returns the value.
  • Otherwise, it returns an object of a type that corresponds to the given value. For example, passing aBigInt primitive returns aBigInt wrapper object.

WhenObject() is constructed butnew.target is not theObject constructor itself, the behavior is slightly different — it initializes a new object withnew.target.prototype as its prototype. Any argument value is ignored. This may happen, for example, whenObject() is implicitly called viasuper() in the constructor of a class thatextendsObject. In this case, even if you pass a number tosuper(), thethis value inside the constructor does not become aNumber instance.

Examples

Creating a new Object

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

Using Object given undefined and null types

The following examples store an emptyObject object ino:

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

Obtaining wrapper objects for BigInt and Symbol

TheBigInt() andSymbol() constructors throw an error when called withnew, to prevent the common mistake of creating a wrapper object instead of the primitive value. The only way to create a wrapper object for these types is to callObject() with them:

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"

Specifications

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

Browser compatibility

See also

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp