This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

Object.prototype.__lookupSetter__()

Deprecated

Avoid using this feature in new projects. TC39 included accessor methods in Annex B of the ECMAScript specification, which covers JavaScript features with "one or more undesirable characteristics and in the absence of legacy usage would be removed." This feature may be a candidate for removal from web standards or browsers.

Не стандартно: Эта функция не стандартизирована. Мы не рекомендуем использовать нестандартные функции в действующих проектах, так как их поддержка браузерами ограничена, а поведение может измениться или быть удалено. Тем не менее, в некоторых случаях, когда нет стандартного решения, они могут быть подходящей альтернативой.

Сводка

Метод __lookupSetter__() возвращает функцию, привязанную к сеттеру указанного свойства.

Синтаксис

obj.__lookupSetter__(sprop)

Параметры

sprop

Строка, содержащая имя свойства, чей сеттер должен быть возвращён.

Описание

Если для свойства объекта был определён сеттер, то на него невозможно сослаться через это свойство, поскольку оно ссылается на возвращаемое значение сеттера. Метод __lookupSetter__() может использоваться для получения ссылки на сеттер.

Сегодня это возможно сделать стандартным способом через Object.getOwnPropertyDescriptor().

Примеры

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

// Нестандартный и устаревший способ
obj.__lookupSetter__("foo");
// (function(value) { this.bar = value; })

// Способ, совместимый со стандартом
Object.getOwnPropertyDescriptor(obj, "foo").set;
// (function(value) { this.bar = value; })

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

Не является частью какой-либо спецификации.

Совместимость с браузерами

Смотрите также