靜態 Reflect.setPrototypeOf() 方法用於將指定對象的原型設置為另一個對象。第一個參數是對象引用,第二個參數可以是 null 或一個對象。此方法與 Object.setPrototypeOf() 方法相同。
用法:
Reflect.setPrototypeOf(obj, prototype)
參數:
Obj:它是要設置原型的目標對象。
原型:它是對象的新原型。
返回值:
此方法返回一個布爾值,指示原型是否已成功設置。
異常:
類型錯誤,如果目標不是對象
瀏覽器支持:
Chrome | 49 |
Edge | 12 |
Firefox | 42 |
Opera | 36 |
例子1
const object = {};
console.log(Reflect.setPrototypeOf(Object.freeze(object), null));
輸出:
False
例子2
var Animal = {
speak() {
console.log(this.name + ' makes a noise.');
}
};
class g {
constructor(name) {
this.name = name;
}
}
Reflect.setPrototypeOf(g.prototype, Animal);
// If you do not do this you will get a TypeError when you invoke speak
var d = new g('Mitzie');
d.speak();
輸出:
"Mitzie makes a noise."
例子3
let toyota = {
drive() {
return 'value';
}
}
let obj = {
wifi() {
return 'answer';
}
}
Object.setPrototypeOf(obj, toyota);
console.dir(obj);
document.write(obj.wifi());
document.writeln("<br/>");
document.writeln(obj.drive());
輸出:
answer value
相關用法
- JavaScript Reflect.set()用法及代碼示例
- JavaScript Reflect.get()用法及代碼示例
- JavaScript Reflect.ownKeys()用法及代碼示例
- JavaScript Reflect.construct()用法及代碼示例
- JavaScript Reflect.getPrototypeOf()用法及代碼示例
- JavaScript Reflect.apply()用法及代碼示例
- JavaScript Reflect.defineProperty()用法及代碼示例
- JavaScript Reflect.has()用法及代碼示例
- JavaScript Reflect.getOwnPropertyDescriptor()用法及代碼示例
- JavaScript Reflect.deleteProperty()用法及代碼示例
- JavaScript Reflect.preventExtensions()用法及代碼示例
- JavaScript Reflect.isExtensible()用法及代碼示例
- JavaScript Uint8Array.of()用法及代碼示例
- JavaScript BigInt.prototype.toString()用法及代碼示例
- JavaScript DataView.getInt16()用法及代碼示例
- JavaScript Symbol.keyFor()用法及代碼示例
- JavaScript handler.has()用法及代碼示例
- JavaScript JSON.stringify()用法及代碼示例
- JavaScript Symbol.split屬性用法及代碼示例
- JavaScript Function.displayName屬性用法及代碼示例
注:本文由純淨天空篩選整理自 JavaScript Reflect.setPrototypeOf() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。