Любой объект в JavaScript имеет набор свойств, и каждое из этих свойств имеет дескриптор .
Это объект, который определяет поведение свойства и собственные свойства.
С ним взаимодействуют многие статические методы объектов. Эти методы включают в себя:
- Эти методы включают в себя: ()
- Объект.Определяющие свойства()
- Объект.Определение свойства()
- Объект.getOwnPropertyDescriptor()
- Объект.getownpropertydescriptor()
Вот пример объекта дескриптора свойства:
{
value: 'Something'
}Это самый простой вариант. значение – это значение свойства в определении значения ключа. Этот ключ определяется как ключ объекта, когда вы определяете это свойство в объекте:
{
breed: {
value: 'Siberian Husky'
}
}Пример:
const animal = {}
const dog = Object.create(animal, {
breed: {
value: 'Siberian Husky'
}
});
console.log(dog.breed) //'Siberian Husky'
Вы можете передать дополнительные свойства для определения каждого отдельного свойства объекта:
- значение : значение свойства
- доступно для записи : true свойство может быть изменено
- настраиваемый : если значение равно false, свойство не может быть удалено, и ни один атрибут не может быть изменен, кроме его значения
- перечислимый : значение true, если свойство перечислимо
- get : функция получения для свойства, вызываемая при чтении свойства
- set : функция настройки для свойства, вызываемая, когда для свойства установлено значение
доступный для записи , настраиваемый и перечисляемый задает поведение этого свойства. Они имеют логическое значение, и по умолчанию все они false .
Пример:
const animal = {}
const dog = Object.create(animal, {
breed: {
value: 'Siberian Husky',
writable: false
}
});
console.log(dog.breed) //'Siberian Husky'
dog.breed = 'Pug' //TypeError: Cannot assign to read only property 'breed' of object '#Оригинал: “https://flaviocopes.com/javascript-property-descriptors/”