Object.prototype.__lookupGetter__()

Deprecated

This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

Метод __lookupGetter__ повертає функцію, прив'язану в якості гетера вказаної властивості.

Синтаксис

obj.__lookupGetter__(sprop)

Параметри

sprop
Рядок, що містить ім'я властивості, гетер якої має бути повернений.

Значення, що повертається

Функція, прив'язана в якості гетера до вказаної властивості.

Опис

Якщо для властивості об'єкта був визначений гетер, неможливо отримати посилання на нього через цю властивість, оскільки властивість посилається на значення, яке повертає ця функція. Методом __lookupGetter__ можна отримати посилання на функцію-гетер.

Зараз це стало можливо робити стандартизованими засобами, через Object.getOwnPropertyDescriptor() та Object.getPrototypeOf().

Приклади

var obj = {
  get foo() {
    return Math.random() > 0.5 ? 'foo' : 'bar';
  }
};


// Нестандартний та не рекомендований спосіб
obj.__lookupGetter__('foo');
// (function() { return Math.random() > 0.5 ? 'foo' : 'bar'; })


// Стандартний спосіб
Object.getOwnPropertyDescriptor(obj, "foo").get;
// (function() { return Math.random() > 0.5 ? 'foo' : 'bar'; })

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

Специфікація Статус Коментар
ECMAScript (ECMA-262)
The definition of 'Object.prototype.__lookupGetter__()' in that specification.
Living Standard Включено у (нормативний) додаток для додаткової legacy-функціональності ECMAScript для веб-переглядачів (зауважте, що специфікація кодифікує те, що вже реалізовано).

Сумісність з веб-переглядачами

BCD tables only load in the browser

Див. також