Перейти к основному содержимому
Об авторе
Проекты
Знания
Знания/JavaScript/define-property

Как работают `Object.defineProperty()` и `Object.getOwnPropertyDescriptors()`?

УглублённыйОбъекты
  • Object.defineProperty(obj, prop, descriptor) — создаёт или изменяет свойство с указанными атрибутами:
    • При создании через defineProperty атрибуты по умолчанию false (в отличие от литерала, где true)
  • Object.defineProperties(obj, props) — определяет несколько свойств сразу
  • Object.getOwnPropertyDescriptor(obj, prop) — возвращает дескриптор одного свойства
  • Object.getOwnPropertyDescriptors(obj) — возвращает дескрипторы всех собственных свойств
  • Используется для точного копирования объектов с геттерами/сеттерами:
    • Object.create(Object.getPrototypeOf(obj), Object.getOwnPropertyDescriptors(obj))
  • Главная
  • Об авторе
  • Проекты
  • Знания
Логотип nKolmykov