Мы используем файлы cookie
Мы используем файлы cookie для улучшения работы сайта и предоставления вам персонализированного опыта. Правила использования файлов cookie можно найти в нашей политике конфиденциальности
Дескрипторы в JavaScript — это объекты, которые описывают различные свойства свойства объекта, такие как его значение (value), возможность записи (writable), возможность перечисления (enumerable) и возможность конфигурации (configurable). Также есть дескрипторы с геттерами и сеттерами.
Существует два типа дескрипторов:
Дескрипторы данных: Содержат значение свойства.
value
: Значение свойства. Может быть любым валидным типом данных.writable
: Логическое значение. Если true
, значение свойства можно изменить (obj.prop = newValue
). По умолчанию false
для accessor-свойств и true
для data-свойств, созданных обычным присваиванием.enumerable
: Логическое значение. Если true
, свойство будет видно при итерации по свойствам объекта (например, в цикле for...in
или при использовании Object.keys()
). По умолчанию false
для свойств, добавленных Object.defineProperty
, и true
для свойств, созданных обычным присваиванием.configurable
: Логическое значение. Если true
, характеристики дескриптора (кроме value
и writable
при их изменении с данными на аксессоры) можно изменять, а само свойство удалять. По умолчанию false
для свойств, добавленных Object.defineProperty
(кроме value
), и true
для свойств, созданных обычным присваиванием. Once configured as non-configurable, cannot be changed back. You can decrease writability from true to false, but not vice versa on a non-configurable getter/setter.Дескрипторы аксессоров: Определяют функции, которые будут вызываться при получении (getter) или установке (setter) значения свойства.
get
: Функция, вызываемая при чтении свойства. Результат этой функции становится значением свойства. Не принимает аргументов.set
: Функция, вызываемая при записи в свойство. Принимает одно аргумент — новое устанавливаемое значение.enumerable
: Логическое значение (аналогично data-дескрипторам).configurable
: Логическое значение (аналогично data-дескрипторам).Дескрипторы нельзя смешивать: у свойства либо есть value
и writable
, либо get
и set
.
Дескрипторы используются для управле
Дескрипторы в JavaScript — это объекты, которые описывают различные свойства свойства объекта, такие как его значение (value), возможность записи (writable), возможность перечисления (enumerable) и возможность конфигурации (configurable). Также есть дескрипторы с геттерами и сеттерами.
Существует два типа дескрипторов:
Дескрипторы данных: Содержат значение свойства.
value
: Значение свойства. Может быть любым валидным типом данных.writable
: Логическое значение. Если true
, значение свойства можно изменить (obj.prop = newValue
). По умолчанию false
для accessor-свойств и true
для data-свойств, созданных обычным присваиванием.enumerable
: Логическое значение. Если true
, свойство будет видно при итерации по свойствам объекта (например, в цикле for...in
или при использовании Object.keys()
). По умолчанию false
для свойств, добавленных Object.defineProperty
, и true
для свойств, созданных обычным присваиванием.configurable
: Логическое значение. Если true
, характеристики дескриптора (кроме value
и writable
при их изменении с данными на аксессоры) можно изменять, а само свойство удалять. По умолчанию false
для свойств, добавленных Object.defineProperty
(кроме value
), и true
для свойств, созданных обычным присваиванием. Once configured as non-configurable, cannot be changed back. You can decrease writability from true to false, but not vice versa on a non-configurable getter/setter.Дескрипторы аксессоров: Определяют функции, которые будут вызываться при получении (getter) или установке (setter) значения свойства.
get
: Функция, вызываемая при чтении свойства. Результат этой функции становится значением свойства. Не принимает аргументов.set
: Функция, вызываемая при записи в свойство. Принимает одно аргумент — новое устанавливаемое значение.enumerable
: Логическое значение (аналогично data-дескрипторам).configurable
: Логическое значение (аналогично data-дескрипторам).Дескрипторы нельзя смешивать: у свойства либо есть value
и writable
, либо get
и set
.
Дескрипторы используются для управле
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.