Object.prototype.__lookupGetter__()
非推奨: この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。
__lookupGetter__
メソッドは、指定されたプロパティに結びつけられているゲッター関数を返します。
構文
js
__lookupGetter__(sprop);
引数
sprop
-
ゲッター関数を返すプロパティの名前を表す文字列です。
返値
指定されたプロパティへのゲッターとしてバインドされている関数です。
解説
オブジェクトのプロパティに対してゲッター関数が定義されていても、そのプロパティを通してゲッター関数への参照を得ることはできません。そのプロパティは、ゲッター関数の返値を参照するからです。 __lookupGetter__
を使うことで、そのゲッター関数への参照を得ることができます。
これは標準化された Object.getOwnPropertyDescriptor()
と Object.getPrototypeOf()
を使用する方法で行うことが可能になりました。
例
プロパティゲッターを取得するための標準準拠の方法と標準外の方法
js
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'; })
仕様書
Specification |
---|
ECMAScript Language Specification # sec-object.prototype.__lookupGetter__ |
ブラウザーの互換性
BCD tables only load in the browser
関連情報
Object.prototype.__lookupGetter__
のポリフィルはcore-js
で利用できますObject.prototype.__lookupSetter__()
get
演算子-
Object.getOwnPropertyDescriptor()
とObject.getPrototypeOf()
Object.prototype.__defineGetter__()
Object.prototype.__defineSetter__()
- JavaScript ガイド: ゲッターとセッターの定義