Object.__defineGetter__() - метод пов'язує властивість об'єкта до викликається функції, коли це властивість шукається.
obj.__defineGetter__(prop, func)
prop - Рядок, що містить ім'я властивості для прив'язки до функції.
func - Функція.
__defineGetter__() метод об'єкту який повязує ім'я властивості об'єкта з вказаною функцією і коли йде звернення до вказаної властивості тоді значенням буде результат функції.
Ця можливість не є стандартною і стандартизувати її поки ніхто не збирається. Рекомендовано використовувати Object.defineProperty.
// Нестандартний і застарілий спосіб
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