Object.create()

Object.create() - Метод Object.create() створює новий об'єкт із зазначеними об'єктом прототипом і властивостями.

Синтакс:

Object.create( proto[, propertiesObject])

proto - Об'єкт, який стане прототипом новоствореного об'єкта.

propertiesObject - Необов'язковий параметр. Якщо вказано і не дорівнює undefined, повинен бути об'єктом, чиї власні перераховуються властивості (тобто такі, які визначені на самому об'єкті, а не успадковані по ланцюжку прототипів) вказують дескриптори властивостей, що додаються в новий об'єкт.

Помилки:

Викидає виключення TypeError, якщо параметр proto не є null або об'єктом.

Приклад:

Створюємо обєкт з використаням прототипу null і добавленням двох властивостей:

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

Створюємо об'єкт, який має такий же внутрішній прототип, що і об'єкт Shape.

var Shape = { twoDimensional: true, color: undefined, hasLineSegments: undefined }; var Square = Object.create(Object.getPrototypeOf(Shape));