Object.prototype.__lookupGetter__()

非推奨
この機能はウェブ標準から削除されました。まだ対応しているプラウザーがあるかもしれませんが、ゆくゆくはなくなるものです。使用を避け、できれば既存のコードを更新してください。このページの下部にあるブラウザーの対応を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

__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'; })

仕様書

ブラウザーの互換性

BCD tables only load in the browser

関連情報