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