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 obiektuObject
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