Reflect.setPrototypeOf()

Reflect.setPrototypeOf() 정적 메서드는 주어진 객체의 프로토타입(내부 [[Prototype]] 속성)을 다른 객체나 null로 바꿉니다. Object.setPrototypeOf() 메서드와 같습니다.

구문

Reflect.setPrototypeOf(target, prototype)

매개변수

target
프로토타입을 지정할 대상 객체.
prototype
대상 객체의 새로운 프로토타입. (객체 또는 null

반환 값

프로토타입 설정 성공 여부를 나타내는 Boolean.

예외

targetObject가 아니거나, prototype이 객체도 null도 아니면 TypeError.

설명

Reflect.setPrototypeOf() 메서드는 주어진 객체의 프로토타입(즉, 내부 [[Prototype]] 속성)을 변경합니다.

예제

Reflect.setPrototypeOf() 사용하기

Reflect.setPrototypeOf({}, Object.prototype); // true

// It can change an object's [[Prototype]] to null.
Reflect.setPrototypeOf({}, null); // true

// Returns false if target is not extensible.
Reflect.setPrototypeOf(Object.freeze({}), null); // false

// Returns false if it cause a prototype chain cycle.
var target = {};
var proto = Object.create(target);
Reflect.setPrototypeOf(target, proto); // false

명세

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

브라우저 호환성

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
setPrototypeOfChrome 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

같이 보기