Object.prototype.__lookupSetter__()

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

__lookupSetter__ メソッドは、指定されたプロパティに結びつけられているセッター関数を返します。

構文

js
__lookupSetter__(sprop);

引数

sprop

セッター関数を返すプロパティの名前を表す文字列です。

返値

指定されたプロパティへのセッターとしてバインドされている関数です。

解説

オブジェクトのプロパティに対してセッター関数が定義されていても、そのプロパティを通してセッター関数への参照を得ることはできません。そのプロパティは、セッター関数の返値を参照するからです。 __lookupSetter__ を使うことで、セッター関数への参照を得ることができます。

これは標準化された Object.getOwnPropertyDescriptor() を使用する方法で行うことが可能になりました。

プロパティセッターを取得するための標準準拠の方法と標準外の方法

js
var obj = {
  set foo(value) {
    this.bar = value;
  },
};

// 標準外かつ非推奨の方法
obj.__lookupSetter__("foo");
// (function(value) { this.bar = value; })

// 標準準拠の方法
Object.getOwnPropertyDescriptor(obj, "foo").set;
// (function(value) { this.bar = value; })

仕様書

Specification
ECMAScript Language Specification
# sec-object.prototype.__lookupSetter__

ブラウザーの互換性

BCD tables only load in the browser

関連情報