静态方法 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 |