Object.defineProperty()

Определяет свойство с точной настройкой дескриптора.

СигнатураObject.defineProperty(obj, prop, descriptor)

Метод Object.defineProperty() добавляет или изменяет свойство объекта с детальной настройкой: value, writable, enumerable, configurable или геттер/сеттер. По умолчанию все флаги равны false.

const user = {};
Object.defineProperty(user, "id", {
  value: 101,
  writable: false,
  enumerable: false
});
user.id = 999; // игнорируется
console.log(user.id); // 101
console.log(Object.keys(user)); // [] (не перечислимо)
← Все записи: Object и JSON в JavaScript
Поддержать проект