Skip to content

输出什么?

javascript
const person = {
  name: "Lydia",
  age: 21
}

let city = person.city
city = "Amsterdam"

console.log(person)

A. { name: "Lydia", age: 21 } B. { name: "Lydia", age: 21, city: "Amsterdam" } C. { name: "Lydia", age: 21, city: undefined } D. "Amsterdam"

答案: A

解析:

我们将变量city设置为等于person对象上名为city的属性的值。 这个对象上没有名为city的属性,因此变量city的值为undefined。 请注意,我们没有引用person对象本身,只是将变量city设置为等于person对象上city属性的当前值。 然后,我们将city设置为等于字符串“Amsterdam”。 这不会更改person对象:没有对该对象的引用。 因此打印person对象时,会返回未修改的对象。