Informationen
Das angeforderte Thema wird unten angezeigt. Es ist jedoch nicht in dieser Bibliothek vorhanden.

Object.create-Funktion (JavaScript)

Erstellt ein Objekt, das den angegebenen Prototyp besitzt und das optional die angegebenen Eigenschaften enthält.

Object.create(prototype, descriptors)

prototype

Erforderlich. Das als Prototyp zu verwendende Objekt. Kann null sein.

descriptors

Optional. Ein JavaScript-Objekt, das eine oder mehrere Eigenschaftendeskriptoren enthält.

Eine Dateneigenschaft ist eine Eigenschaft, die einen Wert abrufen und festlegen kann. Ein Dateneigenschaftendeskriptor enthält ein value-Attribut sowie die Attribute writable, enumerable und configurable. Werden die letzten drei Attribute nicht angegeben, werden sie standardmäßig auf false festgelegt. Eine Accessoreigenschaft ruft immer dann eine vom Benutzer bereitgestellte Funktion auf, wenn der Wert abgerufen oder festgelegt wird. Ein Accessoreigenschaftendeskriptor enthält ein set-Attribut, ein get-Attribut oder beides. Weitere Informationen finden Sie unter Object.defineProperty-Funktion (JavaScript).

Ein neues Objekt, das den angegebenen internen Prototyp besitzt und die angegebenen Eigenschaften enthält, sofern vorhanden.

Eine TypeError-Ausnahme wird ausgelöst, wenn eine der folgenden Bedingungen zutrifft:

  • Das prototype-Argument ist kein Objekt und nicht null.

  • Ein Deskriptor im descriptors-Argument verfügt über ein value- oder writable-Attribut sowie über ein get- oder set-Attribut.

  • Ein Deskriptor im descriptors-Argument verfügt über ein get- oder set-Attribut, das keine Funktion ist.

Sie können diese Funktion mithilfe eines nullprototype-Parameters verwenden, um die Prototypenkette zu beenden. Das erstellte Objekt hat keinen Prototyp.

Im folgenden Beispiel wird ein Objekt mit einem null-Prototyp erstellt und es werden zwei aufzählbare Eigenschaften hinzugefügt.

var newObj = Object.create(null, {
            size: {
                value: "large",
                enumerable: true
            },
            shape: {
                value: "round",
                enumerable: true
            }
        });

document.write(newObj.size + "<br/>");
document.write(newObj.shape + "<br/>");
document.write(Object.getPrototypeOf(newObj));

// Output:
// large
// round
// null

Im folgenden Beispiel wird ein Objekt erstellt, das den gleichen internen Prototyp wie das Object-Objekt besitzt. Wie Sie sehen, hat es den gleichen Prototyp wie ein Objekt, das mit einem Objektliteral erstellt wird. Die Object.getPrototypeOf-Funktion ruft den Prototyp des ursprünglichen Objekts ab. Um den Eigenschaftendeskriptor des Objekts abzurufen, können Sie Object.getOwnPropertyDescriptor-Funktion (JavaScript) verwenden.

var firstLine = { x: undefined, y: undefined };

var secondLine = Object.create(Object.prototype, {
        x: {
                value: undefined, 
                writable: true, 
                configurable: true, 
                enumerable: true
            },
            y: {
                value: undefined, 
                writable: true, 
                configurable: true, 
                enumerable: true
            }
});

document.write("first line prototype = " + Object.getPrototypeOf(firstLine));
document.write("<br/>");
document.write("second line prototype = " + Object.getPrototypeOf(secondLine));

// Output:
// first line prototype = [object Object]
// second line prototype = [object Object]

Im folgenden Beispiel wird ein Objekt erstellt, das den gleichen internen Prototyp wie das Shape-Objekt besitzt.


// Create the shape object.
var Shape = { twoDimensional: true, color: undefined, hasLineSegments: undefined };

var Square = Object.create(Object.getPrototypeOf(Shape)); 

Wird in den folgenden Dokumentmodi unterstützt: Internet Explorer 9-Standardmodus, Internet Explorer 10-Standardmodus und Internet Explorer 11-Standardmodus. Wird auch unterstützt von Apps aus dem Store (Windows 8 und Windows Phone 8.1). Siehe Versionsinformationen.

Wird in den folgenden Dokumentmodi nicht unterstützt: Quirksmodus, Internet Explorer 6-Standardmodus, Internet Explorer 7-Standardmodus, Internet Explorer 8-Standardmodus.

Community-Beiträge

Anzeigen:
© 2014 Microsoft