Object() Konstruktor

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Der Object()-Konstruktor wandelt die Eingabe in ein Objekt um. Sein Verhalten hängt vom Typ der Eingabe ab.

Syntax

js
new Object()
new Object(value)

Object()
Object(value)

Hinweis: Object() kann mit oder ohne new aufgerufen werden, hat aber manchmal unterschiedliche Effekte. Siehe Rückgabewert.

Parameter

value Optional

Ein beliebiger Wert.

Rückgabewert

Wenn der Object()-Konstruktor selbst aufgerufen oder konstruiert wird, ist sein Rückgabewert ein Objekt:

  • Wenn der Wert null oder undefined ist, wird ein leeres Objekt erstellt und zurückgegeben.
  • Wenn der Wert bereits ein Objekt ist, wird der Wert zurückgegeben.
  • Andernfalls wird ein Objekt eines Typs zurückgegeben, der dem angegebenen Wert entspricht. Wenn z.B. ein BigInt-Primitive übergeben wird, wird ein BigInt-Wrapper-Objekt zurückgegeben.

Wenn Object() konstruiert wird, aber new.target nicht der Object-Konstruktor selbst ist, unterscheidet sich das Verhalten leicht — es initialisiert ein neues Objekt mit new.target.prototype als dessen Prototyp. Jeder Argumentwert wird ignoriert. Dies kann beispielsweise passieren, wenn Object() implizit über super() im Konstruktor einer Klasse aufgerufen wird, die von Object erbt. In diesem Fall wird selbst, wenn Sie eine Zahl an super() übergeben, der this-Wert innerhalb des Konstruktors keine Number-Instanz.

Beispiele

Erstellen eines neuen Objekts

js
const o = new Object();
o.foo = 42;

console.log(o);
// { foo: 42 }

Verwenden von Object mit undefined und null Typen

Die folgenden Beispiele speichern ein leeres Object-Objekt in o:

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

Erhalten von Wrapper-Objekten für BigInt und Symbol

Die BigInt()- und Symbol()-Konstruktoren werfen einen Fehler, wenn sie mit new aufgerufen werden, um den häufigen Fehler zu verhindern, ein Wrapper-Objekt anstelle des primitiven Werts zu erstellen. Der einzige Weg, ein Wrapper-Objekt für diese Typen zu erstellen, ist es, Object() mit ihnen aufzurufen:

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"

Spezifikationen

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

Browser-Kompatibilität

Siehe auch