當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


JavaScript Reflect.setPrototypeOf()用法及代碼示例


靜態 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.setPrototypeOf() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。