создает объект с указанным прототипом и свойствами
Синтаксис
Object.create(прототип)
Object.create (прототип, дескрипторы)
Аргументы
прототип
Прототип создаваемого объекта или null.
дескрипторы Необязательный объект, отображающий имена свойств в их дескрипторы.
Возвращаемое значение
Вновь созданный объект, наследующий прототип и обладающий свойствами, описываемыми дескрипторами.
Исключения
ТуреЕrror
Генерируется, если прототип не является объектом или значением null или если указанные дескрипторы заставляют метод
Object.definePгорегties
сгенерировать исключение
ТуреЕrror
.
Описание
Функция
Object.create
создает и возвращает новый объект с прототипом, определяемым аргументом прототип. Это означает, что новый объект наследует свойства от прототипа.
Если указан необязательный аргумент дескрипторы, функция
Object.create
добавит в новый объект свойства, как если бы был вызван метод
Object.defineProperties.
То есть вызов функции
Object.create(p,d)
с двумя аргументами эквивалентен вызовам:
Object.defіneProperties(Object.create(p), d);
Дополнительную информацию об аргументе дескрипторы можно найти в справочной статье Object.defineProperties, а описание дескрипторов свойств в справочной статье Object.getOwnPropertyDescriptor.
Обратите внимание, что эта функция вызывается не как метод объекта: это глобальная функция, которая принимает объект в виде аргумента.
Пример
// Создать объект, который имеет собственные свойства х и у и наследует свойство z
о Объект, в котором будут создаваться или настраиваться свойства.
дескрипторы Объект, отображающий имена свойств в их дескрипторы.
Возвращаемое значение
Объект о.
Исключения
ТуреЕrror
Генерируется, если аргумент о не является объектом или если какое-либо из указанных свойств не может быть создано или настроено. Эта функция не является атомарной: она может создать или настроить часть свойств и затем возбудить исключение, не создав или не настроив другие свойства. Перечень ошибок, которые могут вызвать исключение
ТуреЕrror
, приводится в разделе 6.7.
Описание
Функция
Object.defineProperties
создает или настраивает свойства объекта о, указанные и описанные в аргументе дескрипторы. Имена свойств объекта дескрипторы являются именами свойств, которые будут созданы или настроены в объекте о, а значениями этих свойств являются объекты дескрипторов свойств, которые определяют атрибуты создаваемых или настраиваемых свойств.
Функция
Object.defineProperties
действует подобно функции
Object.defineProperty;
дополнительные подробности смотрите в описании этой функции. Дополнительные сведения об объектах дескрипторов свойств приводятся в справочной статье
Object. getOwnPropertyDescriptor.
Пример
// Добавить в новый объект свойства х и у, доступные только для чтения