Object.prototype.__defineGetter__()

Не стандартно

Эта возможность не является стандартной и стандартизировать её пока никто не собирается. Не используйте её на сайтах, смотрящих во внешний мир: она будет работать не у всех пользователей. Также могут присутствовать большие несовместимости между реализациями и её поведение может в будущем измениться.

Устарело

Эта возможность была удалена из веб-стандартов. Хотя некоторые браузеры по-прежнему могут поддерживать её, она находится в процессе удаления. Не используйте её ни в старых, ни в новых проектах. Страницы или веб-приложения, использующие её, могут в любой момент сломаться.

Сводка

Метод __defineGetter__() привязывает свойство объекта к функции, вызываемой каждый раз при поиске этого свойства.

Синтаксис

obj.__defineGetter__(prop, func)

Параметры

prop
Строка, содержащая имя свойства, привязываемого к заданной функции.
func
Функция, привязываемая к поиску указанного свойства.

Описание

Метод __defineGetter__() позволяет определить геттер (en-US) на уже существующем объекте.

Примеры

// Нестандартный и устаревший способ

var o = {};
o.__defineGetter__('gimmeFive', function() { return 5; });
console.log(o.gimmeFive); // 5


// Способы, совместимые со стандартом

// Использование оператора get
var o = { get gimmeFive() { return 5; } };
console.log(o.gimmeFive); // 5


// Использование Object.defineProperty()
var o = {};
Object.defineProperty(o, 'gimmeFive', {
  get: function() {
    return 5;
  }
});
console.log(o.gimmeFive); // 5

Спецификации

Не является частью какой-либо спецификации.

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также