Przejdź do treści

Tworzenie obiektu na wzorcu bez konstruktora - create

Jak utworzyć obiekt bazujący na podanym wzorcu, ale bez wywoływania konstruktora?

(interpretuje: Internet Explorer 9, Firefox 4, Opera 12, Chrome)

Object.create(O)
Object.create(O, Properties)
Parametry:
Object O - wzorcowy prototyp obiektu
Object Properties - obiekt zawierający deskryptory dodatkowych właściwości tworzonego obiektu [zobacz: Object.defineProperty]
Wartość:
Object - prototyp nowego obiektu
Wyjątki:
TypeError - wartość O nie jest obiektem ani null

Pozwala utworzyć prototyp nowego obiektu na bazie wzorca. Inaczej niż w przypadku użycia operatora new użycie funkcji Object.create nie wywołuje konstruktora obiektu.

Przykład Object.create

Object.getPrototypeOf(Object.create(null)) === null;      // true
var obj = Object.create(Object.prototype);
Object.getPrototypeOf(obj) === Object.getPrototypeOf({}); // true
Object.create({}, {p: {value: 1}}).p;                     // 1
Object.create(true);                                      // TypeError
Object.create(1);                                         // TypeError
Object.create("test");                                    // TypeError

Komentarze

Zobacz więcej komentarzy

Facebook