References
Object.create()
Leírás
Üres objektumot egyszerű az üres objektum-literáltok hozhatunk létre.
Objektum létrehozása az Object.create
függvény segítségével is lehetőséges, amelynek kötelező paraméterként meg kell adni, hogy melyik objektum legyen a létrejövő objektum prototípusa.
Ha az üres objektumliterállal kompatibilis objektum létrehozása a cél, akkor, de Object.prototype
adandó meg, ha viszont nem szeretnénk prototípus-objektumot megadni, akkor null
értéket írjunk a helyére.
A létrehozandó tulajdonságok finomhangolását lehet elvégezni az Object.create(prototype, descriptors)
metódus segítségével, ahol második paraméterként lehet megadni az egyes tulajdonságok leíróobjektumait objektumliterál formájában.
Az objektumliterállal kompatibilis objektum megadásához a configurable
, enumarable
, és writable
attribútumok igazira állítása szükséges, ugyanis ezek explicit beállítás híján alapértelmezetten hamisak.
Dinamikus objektumok alatt azt értjük, hogy tulajdonságaik tetszőlegesen módosíthatók, bővíthetők, törölhetők.
Így például lehetővé válik annak beállítása, hogy egy tulajdonság értéke megváltoztatható-e (writable
), felsorolható-e (enumarable
) vagy törölhető-e (configurable
). Tovább lehetőség van egy tulajdonság értékének lekérdezésére és megváltoztatására függvények segítségével (getter és setter).
Ezeket a beállításokat egy ún. tulajdonság leíróobjektum (descriptor
) keresztül tudjuk megadni, melynek a következő értékei lehetnek:
value
: a tulajdonság értéke, az alapértelmezettenundefined
writable
: megváltoztatható-e egy tulajdonság értéke, az alapértelmezettenfalse
enumerable
: megjelenik-e az adott tulajdonság afor...in
ciklusban vagy azObject.keys
felsorolásban, alapértelmezettenfalse
configurable
: törölhető-e tulajdonság, vagy változtatható-e bármelyik itt tárgyait attribútuma, alapértelmezettenfalse
set
: setter, alapértelmezettenundefined
get
: getter, alapértelmezettenundefined