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.
const target = {};
const proto = Object.create(target);
Reflect.setPrototypeOf(target, proto); // false

명세

Specification
ECMAScript (ECMA-262)
The definition of 'Reflect.setPrototypeOf' in that specification.

브라우저 호환성

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

같이 보기