Object.prototype.__defineGetter__()
Не стандартно: Эта возможность не является стандартной и стандартизировать её пока никто не собирается. Не используйте её на сайтах, смотрящих во внешний мир: она будет работать не у всех пользователей. Также могут присутствовать большие несовместимости между реализациями и её поведение может в будущем измениться.
Устарело: Эта возможность была удалена из веб-стандартов. Хотя некоторые браузеры по-прежнему могут поддерживать её, она находится в процессе удаления. Не используйте её ни в старых, ни в новых проектах. Страницы или веб-приложения, использующие её, могут в любой момент сломаться.
Сводка
Метод __defineGetter__()
привязывает свойство объекта к функции, вызываемой каждый раз при поиске этого свойства.
Синтаксис
obj.__defineGetter__(prop, func)
Параметры
Описание
Метод __defineGetter__()
позволяет определить геттер на уже существующем объекте.
Примеры
// Нестандартный и устаревший способ
const o = {};
o.__defineGetter__("gimmeFive", function () {
return 5;
});
console.log(o.gimmeFive); // 5
// Способы, совместимые со стандартом
// Использование оператора get
const o = {
get gimmeFive() {
return 5;
},
};
console.log(o.gimmeFive); // 5
// Использование Object.defineProperty()
const o = {};
Object.defineProperty(o, "gimmeFive", {
get: function () {
return 5;
},
});
console.log(o.gimmeFive); // 5
Спецификации
Не является частью какой-либо спецификации.
Совместимость с браузерами
BCD tables only load in the browser