yisainan / web-interview

我是齐丶先丶森,收集整理全网面试题及面试技巧,旨在帮助前端工程师们找到一份好工作!更多详见公众号「前端面试秘籍」
MIT License
2.61k stars 507 forks source link

[选择题] 50.(单选题)下面代码的输出是什么 #1028

Open qiilee opened 4 years ago

qiilee commented 4 years ago
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对象时,会返回未修改的对象。