📜  Javascript Object setPrototypeOf()方法(1)

📅  最后修改于: 2023-12-03 15:01:38.277000             🧑  作者: Mango

Javascript Object setPrototypeOf()方法

简介

setPrototypeOf() 方法用于设置一个指定对象的原型(即 __proto__ 属性)。

语法
Object.setPrototypeOf(obj, prototype)
  • obj:要设置原型的对象。
  • prototype:要设置的新原型对象。
返回值

返回被修改后的对象 obj

例子
const animal = {
  type: 'unknown',
  sound() {
    console.log('Unknown sound');
  }
};

const dog = {
  breed: 'Labrador'
};

// 设置 dog 的原型为 animal
Object.setPrototypeOf(dog, animal);

console.log(dog.type); // 输出:'unknown'
dog.sound(); // 输出:'Unknown sound'
解释

在上述代码中,我们有一个 animal 对象和一个 dog 对象。通过调用 Object.setPrototypeOf() 方法,我们将 dog 对象的原型设置为 animal 对象。这导致 dog 继承了 animal 对象的属性和方法。

通过设置原型,我们可以实现对象之间的继承,允许一个对象共享另一个对象的属性和方法。

注意事项
  • 如果 obj 参数不是一个对象类型,则会抛出一个 TypeError 异常。
  • setPrototypeOf() 方法会影响 obj 对象的原型链,如果使用不当,可能会导致一些意外的行为。因此,在使用该方法时需要谨慎操作。

更多关于 setPrototypeOf() 方法的详细信息可以参考 MDN 文档