JavaScript Object.setPrototypeOf() 方法將指定對象的原型設置為另一個對象或 null。
用法:
Object.setPrototypeOf(obj, prototype)
setPrototypeOf()
方法是靜態方法,使用Object
類名調用。
setPrototypeOf()參數
setPrototypeOf()
方法包含:
obj
- 要設置其原型的對象。prototype
- 對象的新原型(對象或 null)。
setPrototypeOf() 的返回值
- 返回指定的對象。
注意:改變[[Prototype]]
目前,在每個瀏覽器和 JavaScript 引擎中,對象的操作都是非常緩慢的操作。
示例 1:使用 Object.setPrototypeOf()
let Animal = {
makeSound() {
console.log(`${this.name}, ${this.sound}!`);
},
};
// defining new Dog object
function Dog(name) {
this.name = name;
this.sound = "bark";
// setting prototype to Animal
Object.setPrototypeOf(this, Animal);
}
dog1 = new Dog("Marcus");
dog1.makeSound(); // Marcus, bark!
輸出
Marcus, bark!
示例 2:使用 Object.setPrototypeOf()
let Animal = {
makeSound() {
console.log(`${this.name}, ${this.sound}!`);
},
};
// defining object
class Dog {
constructor(name, age) {
this.name = name;
this.sound = "bark";
}
introduce() {
console.log(`I'm ${this.name}. I am ${this.age} years old.`);
}
}
// Here Dog.prototype is passed as it is an object, while Dog is not an object
Object.setPrototypeOf(Dog.prototype, Animal);
dog1 = new Dog("Marcus", 3);
console.log(dog1);
dog1.makeSound(); // Marcus, bark!
輸出
name: "Marcus" sound: "bark" __proto__: constructor: class Dog introduce: ƒ introduce() __proto__: makeSound: ƒ makeSound() __proto__: Object Marcus, bark!
相關用法
- JavaScript Object.seal()用法及代碼示例
- JavaScript Object.isPrototypeOf()用法及代碼示例
- JavaScript Object.assign()用法及代碼示例
- JavaScript Object.isExtensible()用法及代碼示例
- JavaScript Object.getPrototypeOf()用法及代碼示例
- JavaScript Object.isFrozen()用法及代碼示例
- JavaScript Object.getOwnPropertyDescriptors()用法及代碼示例
- JavaScript Object.getOwnPropertySymbols()用法及代碼示例
- JavaScript Object.defineProperties()用法及代碼示例
- JavaScript Object.freeze()用法及代碼示例
- JavaScript Object.preventExtensions()用法及代碼示例
- JavaScript Object.is()用法及代碼示例
- JavaScript Object.fromEntries()用法及代碼示例
- JavaScript Object.getOwnPropertyDescriptor()用法及代碼示例
- JavaScript Object.getOwnPropertyNames()用法及代碼示例
- JavaScript Object.propertyIsEnumerable()用法及代碼示例
- JavaScript Object.defineProperty()用法及代碼示例
- JavaScript Object.keys()用法及代碼示例
- JavaScript Object.values()用法及代碼示例
- JavaScript Object.create()用法及代碼示例
注:本文由純淨天空篩選整理自 Javascript Object.setPrototypeOf()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。