Дескрипторы свойств JavaScript

Объяснение дескрипторов свойств и их полезности

Любой объект в JavaScript имеет набор свойств, и каждое из этих свойств имеетдескриптор.

Это объект, который определяет поведение свойства и собственные свойства.

С ним взаимодействуют многие статические методы Object. Эти методы включают:

Вот пример объекта дескриптора свойства:

{
  value: 'Something'
}

Это самый простой.value- значение свойства в определении "ключ-значение". Этотkeyопределяется как ключ объекта, когда вы определяете это свойство в объекте:

{
  breed: {
    value: 'Siberian Husky'
  }
}

Пример:

const animal = {}
const dog = Object.create(animal, {
  breed: {
    value: 'Siberian Husky'
  }
});
console.log(dog.breed) //'Siberian Husky'

Вы можете передать дополнительные свойства для определения каждого отдельного свойства объекта:

  • ценить: стоимость имущества
  • записываемый: true свойство можно изменить
  • настраиваемый: если false, свойство нельзя удалить или изменить какой-либо атрибут, кроме его значения
  • перечислимый: true, если свойство перечислимое
  • получать: функция получения свойства, вызываемая при чтении свойства
  • набор: функция установки для свойства, вызываемая, когда для свойства установлено значение

writable,configurableиenumerableустановить поведение этого свойства. У них есть логическое значение, и по умолчанию все они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 '#<Object>'

Скачать мою бесплатнуюРуководство для начинающих по JavaScript


Больше руководств по js: