Object.create в JavaScript. Метод Object.create является одним из… | by Rupesh Mishra
Чтение: 3 мин.
·
13 мая 2017 г.
Метод Object.create
— это один из методов создания нового объекта в JavaScript.
Другие способы создания объектов в JavaScript описаны в моей предыдущей статье. Я рекомендую прочитать мои предыдущие статьи о прототипах и наследовании, чтобы извлечь максимальную пользу из этой статьи.
Основной синтаксис:
Object.create(prototype_object, propertiesObject)
Метод Object.create
принимает два аргумента: объект-прототип. Это должен быть объект или null
.
propertiesObject
: Свойства нового объекта. Этот аргумент является необязательным.Создать объект с помощью Object.create без прототипа
Рассмотрим приведенный ниже пример создания нового объекта в JavaScript
Здесь мы создали новый объект Object. create
. Поскольку мы прошли null
для прототипа Object
. человек
объект не имеет объекта-прототипа.
Кроме того, мы добавили name
в качестве нового свойства объекта person.
Создать объект с прототипом:
Вывод консоли:
В приведенном выше примере мы создали propertiesObject
с функцией fullName
. Мы создали объект человек
с свойствами Object
в качестве прототипа объекта человека , используя
. Далее мы добавили свойства firstName
и lastName
в объект person
. Здесь мы добавили firstName
и lastName
свойства после создания объекта. Было бы здорово, если бы мы могли добавить эти свойства при создании объекта. Для этого мы будем использовать второй аргумент метода Object.create
.
Object.create 2-й аргумент — propertiesObject
propertiesObject
используется для создания свойств нового объекта. Он действует как дескриптор для определения новых свойств. Дескрипторы могут быть дескрипторами данных или дескрипторами доступа.
Дескрипторы данных
- Конфигурируемые
- Перечисляемые
- Значение
- Доступные для записи
Дескрипторы доступа
- 9002 5 get
- set
Подробно дескрипторы можно прочитать здесь
Пример:
В приведенном выше примере мы создали новый объект person с объектом-прототипом как PrototypeObject
и свойствами как firstName 9.0010 и
фамилия
.
Свойства firstName