Reflect.setPrototypeOf()

静态方法 Reflect.setPrototypeOf()null

语法

Reflect.setPrototypeOf(target, prototype)

参数

target
设置原型的目标对象。
prototype
对象的新原型 (一个对象或 null)。

返回值

返回一个 Boolean 值表明是否原型已经成功设置。

异常

抛出一个 null

描述

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)
Reflect.setPrototypeOf
Standard Initial definition.
ECMAScript Latest Draft (ECMA-262)
Reflect.setPrototypeOf
Draft  

浏览器兼容性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 49 42 (42) 未实现 未实现 10
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support 未实现 49 42.0 (42) 未实现 未实现 10

相关链接