Reflect.getPrototypeOf()

Reflect.getPrototypeOf() 정적 메서드는 주어진 객체의 프로토타입을 반환합니다. Object.getPrototypeOf()와 거의 동일합니다.

구문

Reflect.getPrototypeOf(target)

매개변수

target
프로토타입을 가져올 대상 객체.

반환 값

주어진 객체의 프로토타입. 상속한 속성이 없으면 null을 반환합니다.

예외

targetObject가 아니면 TypeError.

설명

Reflect.getPrototypeOf() 메서드는 주어진 객체의 프로토타입([[Prototype]] 내부 객체의 값 등)을 반환합니다.

예제

Reflect.getPrototypeOf() 사용하기

Reflect.getPrototypeOf({}); // Object.prototype
Reflect.getPrototypeOf(Object.prototype); // null
Reflect.getPrototypeOf(Object.create(null)); // null

Object.getPrototypeOf()와 비교

// 객체에는 동일한 결과
Object.getPrototypeOf({});  // Object.prototype
Reflect.getPrototypeOf({}); // Object.prototype

// ES5에서는 비객체 대상에서 모두 오류
Object.getPrototypeOf('foo');  // Throws TypeError
Reflect.getPrototypeOf('foo'); // Throws TypeError

// ES2015에서는 Reflect만 오류, Object는 객체로 변환
Object.getPrototypeOf('foo');  // String.prototype
Reflect.getPrototypeOf('foo'); // Throws TypeError

// ES2015 Object 동작을 따라하려면 객체 변환과정 필요
Reflect.getPrototypeOf(Object('foo')); // String.prototype

명세

Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Reflect.getPrototypeOf' in that specification.
Standard Initial definition.
ECMAScript Latest Draft (ECMA-262)
The definition of 'Reflect.getPrototypeOf' in that specification.
Draft  

브라우저 호환성

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
getPrototypeOfChrome Full support 49Edge Full support 12Firefox Full support 42IE No support NoOpera Full support 36Safari Full support 10WebView Android Full support 49Chrome Android Full support 49Firefox Android Full support 42Opera Android Full support 36Safari iOS Full support 10Samsung Internet Android Full support 5.0nodejs Full support 6.0.0

Legend

Full support  
Full support
No support  
No support

같이 보기