Object

Zusammenfassung

Der Object-Konstruktor erstellt ein Objekt

Konstruktor

// Object Initialisierer / Literal
{ [ NameWertPaar1 [, NameWertPaar2 [, ...NameWertPaarN] ] ] }

// Konstruktor-Form
new Object( [ Wert ] )

Parameter

NameWertPaar1, NameWertPaar2, ... NameWertPaarN
Paare von Namen (String) und Werten (eines beliebigen Typs) bei denen der Name durch ein Doppelpunkt vom Wert getrennt ist.
Wert
Ein Wert eines beliebigen Typs.

Beschreibung

Der Object Konstruktor erstellt ein Objekt für den übergebenen Wert. Wenn der Wert null oder undefined ist, wird ein leeres Object erstellt und zurückgegeben. Ansonsten wird ein Objekt des Typs erstellt, welcher dem übergebenen Wert entspricht. Sollte der Wert bereits ein vom Typ Object sein, wird dieses zurückgeggeben.

Wenn sie nicht als Konstruktor aufgerufen wird (d.h. ohne new), verhält sich die Funktion Object genau so wie new Object().

Siehe auch den Object Intialisierer / Literal Syntax.

Eigenschaften des Object Konstruktors

Object.length
Hat den Wert 1.
Object.prototype
Erlaubt es neue Eigenschaften zu allen Objekten des Typs Object hinzuzufügen.

Methoden des Object Konstruktors

Object.assign()
Kopiert die Werte aller eigenen, aufzählbaren Eigenschaften von einem oder mehreren Quellobjekten in ein Zielobjekt.
Object.create()
Erstellt ein neues Objekt mit dem angegebenen Protoyp-Objekt und optionalen Eigenschaften.
Object.defineProperty()
Fügt eine neue Eigenschaft einem bestimmten Objekt hinzu, welche durch Zusatzinformationen beschrieben wird.
Object.defineProperties() (en-US)
Fügt mehrere Eigenschaften einem bestimmten Objekt hinzu, welche durch Zusatzinformationen beschrieben werden.
Object.entries()
Gibt ein Array zurück, welches alle eigenen, aufzählbaren String-Eigenschaften in der Form von [Name, Wert]-Paaren enthält.
Object.freeze()
Friert ein Objekt ein: Die Eigenschaften können nicht mehr geändert oder gelöscht werden.
Object.fromEntries() (en-US)
Erstellt ein Objekt aus einer Liste von [Name, Wert]-Paaren (kehrt Object.entries um).
Object.getOwnPropertyDescriptor() (en-US)
Gibt die Zusatzinformationen einer bestimmten eigenen Eigenschaft zurück.
Object.getOwnPropertyDescriptors() (en-US)
Gibt ein Objekt zurück, welches die Zusatzinformationen aller eigenen Eigenschaften enthält.
Object.getOwnPropertyNames()
Gibt ein Array zurück, welches die Namen aller eigenen, aufzählbaren und nicht-aufzählbaren Eigenschaften enthält.
Object.getOwnPropertySymbols() (en-US)
Gibt ein Array zurück, welches die Symbole aller eigenen Eigenschaften enthält.
Object.getPrototypeOf()
Gibt den Protoypen des angegebenen Objekts zurück.
Object.is()
Vergleicht ob zwei Werte den gleichen Wert haben.
Object.isExtensible()
Gibt an, ob ein Objekt erweitert werden kann (ob neue Eigenschaften angelegt werden können).
Object.isFrozen()
Gibt an, ob ein Objekt eingefroren ist.
Object.isSealed() (en-US)
Gibt an, ob ein Objekt versiegelt ist.
Object.keys()
Gibt ein Array zurück, welches die Namen aller eigenen aufzählbaren String-Eigenschaften enthält.
Object.preventExtensions() (en-US)
Verbietet das ein Objekt erweitert werden kann.
Object.seal() (en-US)
Verbietet das Eigenschaften gelöscht werden können - versiegelt das Objekt.
Object.setPrototypeOf() (en-US)
Legt den Prototyp fest (z.Bsp. die interne [[Prototype]] Eigenschaft)
Object.values()
Gibt ein Array zurück, welches die Werte aller eigenen aufzählbaren String-Eigenschaften enthält.

Object Instanzen und das Prototyp-Objekt

Alle Objekte in JavaScript stammen von Object ab; alle Objekte bekommen die Methoden und Eigenschaften vom Object.prototype vererbt, jedoch können sie überschrieben werden. Zum Beispiel können Prototypen andere Kontruktoren die constructor-Eigenschaft überschreiben oder aber ihre eigene toString() Methode implementieren. Änderungen am Object Prototypen wirken sich auch auf alle anderen Objekte aus, es sei denn die Eigenschaften oder Methoden sind entlang der Prototyp-Kette schon überschrieben worden.

Eigenschaften

Object.prototype.constructor
Die Funktion, die den Prototypen eines Objekts erstellt.
Object.prototype.__proto__ (en-US) This API has not been standardized.
Zeigt auf das Objekt, das als bei der Initialisierung des Objektes als Prototyp diente.
Object.prototype.__noSuchMethod__ This API has not been standardized.
Erlaubt das Erstellen einer Funktion, die dann ausgeführt wird, wenn ein undefiniertes Objekt als Methode aufgerufen wird.
Object.prototype.__count__ Dies ist eine veraltete API und es wird nicht mehr garantiert, dass sie funktioniert.
Wurde benutzt um die Anzahl der aufzählbaren Attribute direkt durch das Objekt zurückzugeben; mittlerweile entfernt.
Object.prototype.__parent__ Dies ist eine veraltete API und es wird nicht mehr garantiert, dass sie funktioniert.
Wurde benutzt um auf den Kontext eines Objektes zu verweisen; mittlerweile entfernt.

Methoden

Object.prototype.__defineGetter__() This API has not been standardized. This deprecated API should no longer be used, but will probably still work.
Verknüpft eine Funktion mit einem Attribut, das, wenn darauf zugegriffen wird eine Funktion ausführt und deren Rückgabewert zurück gibt.
Object.prototype.__defineSetter__() (en-US) This API has not been standardized. This deprecated API should no longer be used, but will probably still work.
Verknüpft eine Funktion mit einem Attribut, das, wenn dieses gesetzt werden soll, eine Funktion ausführt, die das Attribut modifiziert.
Object.prototype.__lookupGetter__() (en-US) This API has not been standardized. This deprecated API should no longer be used, but will probably still work.
Gibt die Funktion zurück, die mit dem spezifizierten Attribut über die Methode __defineGetter__() verknüpft ist.
Object.prototype.__lookupSetter__() (en-US) This API has not been standardized. This deprecated API should no longer be used, but will probably still work.
Gibt die Funktion zurück, die mit dem spezifizierten Attribut über die Methode __defineSetter__() (en-US) verknüpft ist.
Object.prototype.hasOwnProperty()
Gibt einen Boolean Wert zurück, der anzeigt, ob ein Attribut ein direktes Attribut dieses Objekts ist, oder über Vererbung durch einen Prototypen hinzugefügt wurde.
Object.prototype.isPrototypeOf() (en-US)
Gibt einen Boolean Wert zurück, der anzeigt, ob das spezifizierte Objekt in der Prototyp-Kette des Objekts, das diese Funktion aufruft, enthalten ist.
Object.prototype.propertyIsEnumerable() (en-US)
Gibt einen Boolean Wert zurück, der anzeigt, ob das interne ECMAScript [[Enumerable]] attribute gesetzt ist.
Object.prototype.toSource() This API has not been standardized.
Liefert einen String zurück, der die Quelle eines Objekt-Literals enthält, und das Objekt darstellt, das diese Funktion aufruft; man kann diesen Wert benutzen, um ein neues Objekt zu erstellen.
Object.prototype.toLocaleString() (en-US)
Ruft toString() (en-US) auf.
Object.prototype.toString() (en-US)
Gibt eine String-Darstellung des Objekts zurück.
Object.prototype.unwatch() This API has not been standardized.
Entfernt einen Kontrollpunkt von einem Attribut des Objekts.
Object.prototype.valueOf()
Gibt den primitiven Wert des spezifizierten Objekts zurück.
Object.prototype.watch() This API has not been standardized.
Fügt einem Attribut des Objekts einen Kontrollpunkt hinzu.
Object.prototype.eval() Dies ist eine veraltete API und es wird nicht mehr garantiert, dass sie funktioniert.
Wurde genutzt, um einen String bestehend aus JavaScript Code, im Kontext des aktuellen Objekts auszuwerten; wurde entfernt;

Eine Eigenschaft von einem Objekt löschen

Es gibt keine Methode von Object selbst, um eine Eigenschaft zu löschen (wie z.Bsp. Map.prototype.delete()). Um das zu erreichen, muss der delete Operator benutzt werden.

Beispiele

Object mit undefined und null Typen nutzen

Die folgenden Beispiele speichern ein leeres Object in o:

var o = new Object();
var o = new Object(undefined);
var o = new Object(null);

Object nutzen um  Boolean-Objekte zu erstellen

Die folgenden Beispiele speichern Boolean-Objekte in o:

// das gleiche wie: var o = new Boolean(true);
var o = new Object(true);
// das gleiche wie: var o = new Boolean(false);
var o = new Object(Boolean());

Spezifikationen

Spezifikation Status Kommentar
ECMAScript 1st Edition (ECMA-262) Standard Initiale Definition.
In JavaScript 1.0 implementiert
ECMAScript 5.1 (ECMA-262)
Die Definition von 'Object' in dieser Spezifikation.
Standard
ECMAScript 2015 (6th Edition, ECMA-262)
Die Definition von 'Object' in dieser Spezifikation.
Standard

Object.assign, Object.getOwnPropertySymbols, Object.setPrototypeOf und Object.is hinzugefügt

ECMAScript (ECMA-262)
Die Definition von 'Object' in dieser Spezifikation.
Lebender Standard Object.entries, Object.values und Object.getOwnPropertyDescriptors hinzugefügt.

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch