--- 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__ ---
Метод __defineGetter__() привязывает свойство объекта к функции, вызываемой каждый раз при поиске этого свойства.
obj.__defineGetter__(prop, func)
propfuncМетод __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}}