Object.prototype.__lookupSetter__()

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.

The __lookupSetter__ method returns the function bound as a setter to the specified property.

Syntax

obj.__lookupSetter__(sprop)

Parameters

sprop
A string containing the name of the property whose setter should be returned.

Return value

The function bound as a setter to the specified property.

Description

If a setter has been defined for an object's property, it was not possible to reference the setter function through that property, because that property refers to the return value of that function. __lookupSetter__ can be used to obtain a reference to the setter function.

It is now possible to do this in a standardized way using Object.getOwnPropertyDescriptor().

Examples

Standard-compliant and non-standard ways to get a property setter

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


// Non-standard and deprecated way
obj.__lookupSetter__('foo')
// (function(value) { this.bar = value; })


// Standard-compliant way
Object.getOwnPropertyDescriptor(obj, 'foo').set;
// (function(value) { this.bar = value; })

Specifications

Specification
ECMAScript (ECMA-262)
The definition of 'Object.prototype.__lookupSetter__()' in that specification.

Browser compatibility

DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
__lookupSetter__
Deprecated
Chrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 11Opera Full support 9.5Safari Full support 3WebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support 10.1Safari iOS Full support 1Samsung Internet Android Full support 1.0nodejs Full support Yes

Legend

Full support
Full support
Deprecated. Not for use in new websites.
Deprecated. Not for use in new websites.

See also