Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
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 Juli 2015.
DerObject()-Konstruktor wandelt die Eingabe in ein Objekt um. Sein Verhalten hängt vom Typ der Eingabe ab.
In diesem Artikel
Syntax
new Object()new Object(value)Object()Object(value)Hinweis:Object() kann mit oder ohnenew aufgerufen werden, hat aber manchmal unterschiedliche Effekte. SieheRückgabewert.
Parameter
valueOptionalEin beliebiger Wert.
Rückgabewert
Wenn derObject()-Konstruktor selbst aufgerufen oder konstruiert wird, ist sein Rückgabewert ein Objekt:
- Wenn der Wert
nulloderundefinedist, 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 einBigInt-Wrapper-Objekt zurückgegeben.
WennObject() konstruiert wird, abernew.target nicht derObject-Konstruktor selbst ist, unterscheidet sich das Verhalten leicht — es initialisiert ein neues Objekt mitnew.target.prototype als dessen Prototyp. Jeder Argumentwert wird ignoriert. Dies kann beispielsweise passieren, wennObject() implizit übersuper() im Konstruktor einer Klasse aufgerufen wird, dievonObject erbt. In diesem Fall wird selbst, wenn Sie eine Zahl ansuper() übergeben, derthis-Wert innerhalb des Konstruktors keineNumber-Instanz.
Beispiele
>Erstellen eines neuen Objekts
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 leeresObject-Objekt ino:
const o = new Object();const o = new Object(undefined);const o = new Object(null);Erhalten von Wrapper-Objekten für BigInt und Symbol
DieBigInt()- undSymbol()-Konstruktoren werfen einen Fehler, wenn sie mitnew 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:
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> |