이 번역은 완료되지 않았습니다. 이 문서를 번역해 주세요.

이 기능은 object initializer 문법 혹은 Object.defineProperty() API를 사용한 getter 정의가 표준화됨으로써 비표준화되었습니다.
이 기능은 이제까지의 ECMAScript 사양에서만 사용되고 있습니다.
보다 좋은 방법이 있으므로, 이 메소드는 사용하지 말아야합니다.

__defineGetter__ 메소드는 오브젝트의 프로퍼티와 함수를 바인드합니다.
프로퍼티의 값이 조회될 때 바인드된 함수가 호출됩니다.

문법

obj.__defineGetter__(prop, func)

인자

prop
함수와 바인드된 프로퍼티의 이름을 나타내는 문자열
func
프로퍼티 값이 조회되었을 때 호출되는 함수

리턴 값

undefined.

Description

__defineGetter__ 를 사용하여 기존 오브젝트의 getter를 사용할 수 있습니다.

Examples

// Non-standard and deprecated way

var o = {};
o.__defineGetter__('gimmeFive', function() { return 5; });
console.log(o.gimmeFive); // 5


// Standard-compliant ways

// Using the get operator
var o = { get gimmeFive() { return 5; } };
console.log(o.gimmeFive); // 5

// Using Object.defineProperty
var o = {};
Object.defineProperty(o, 'gimmeFive', {
  get: function() {
    return 5;
  }
});
console.log(o.gimmeFive); // 5

Specifications

Specification Status Comment
ECMAScript Latest Draft (ECMA-262)
The definition of 'Object.prototype.__defineGetter__()' in that specification.
Draft Included in the (normative) annex for additional ECMAScript legacy features for Web browsers (note that the specification codifies what is already in implementations).

Browser compatibility

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung InternetNode.js
Basic support
Deprecated
Chrome Full support YesEdge Full support YesFirefox Full support 1
Notes
Full support 1
Notes
Notes Starting with Firefox 48, this method can no longer be called at the global scope without any object. A TypeError will be thrown otherwise. Previously, the global object was used in these cases automatically, but this is no longer the case.
IE Full support 11Opera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes

Legend

Full support  
Full support
Deprecated. Not for use in new websites.
Deprecated. Not for use in new websites.
See implementation notes.
See implementation notes.

See also

문서 태그 및 공헌자

이 페이지의 공헌자: LeeDDHH
최종 변경자: LeeDDHH,