为什么person1对象的'name'属性是'undefined',而person2对象的'name'属性有值?
const person1 = {
set name(newName) {
console.log(newName)
}
}
const person2 = {}
Object.assign(person2, person1)
person1.name = 'x'
// logs "x"
person2.name = 'z'
// doesnt log anything
console.log("Person1", person1)
// "Person1" Object {
// name: undefined
// }
console.log("Person2", person2)
// "Person2" Object {
// name: "z"
// }
name
的getter。Object.assign()
只进行浅拷贝,因此在person2中setter已经消失了。你想要做什么? - charlietfl