--- title: Object.prototype.__defineGetter__() slug: Web/JavaScript/Reference/Global_Objects/Object/__defineGetter__ tags: - JavaScript - Method - Non-standard - Object - Prototype - Reference translation_of: Web/JavaScript/Reference/Global_Objects/Object/__defineGetter__ ---
{{JSRef("Global_Objects", "Object")}} {{non-standard_header}} {{deprecated_header}}

Сводка

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

Синтаксис

obj.__defineGetter__(prop, func)

Параметры

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

Описание

Метод __defineGetter__() позволяет определить {{jsxref("Operators/get", "геттер", "", 1)}} на уже существующем объекте.

Примеры

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

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

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

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

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

{{Compat}}

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