一个对象的原型可以改成另一个对象吗?
Can the prototype of an object be changed to another object?
创建对象时,其原型也设置为对象。
创建对象后,其原型是否可以更改为其他对象?
当然可以使用 Object.setPrototypeOf()
(link 也有一些有用的警告):
let parent = {
test: "hello"
}
let child = {}
// object
console.log(Object.getPrototypeOf(child))
Object.setPrototypeOf(child, parent)
// parent now prototype
console.log(Object.getPrototypeOf(child))
// can access parent props
console.log(child.hasOwnProperty('test')) // not on child object
console.log(child.test)
创建对象时,其原型也设置为对象。
创建对象后,其原型是否可以更改为其他对象?
当然可以使用 Object.setPrototypeOf()
(link 也有一些有用的警告):
let parent = {
test: "hello"
}
let child = {}
// object
console.log(Object.getPrototypeOf(child))
Object.setPrototypeOf(child, parent)
// parent now prototype
console.log(Object.getPrototypeOf(child))
// can access parent props
console.log(child.hasOwnProperty('test')) // not on child object
console.log(child.test)