选择题1511/1620输出什么?

1const person = { 2 name: "Lydia", 3 age: 21 4} 5 6const changeAge = (x = { ...person }) => x.age += 1 7const changeAgeAndName = (x = { ...person }) => { 8 x.age += 1 9 x.name = "Sarah" 10} 11 12changeAge(person) 13changeAgeAndName() 14 15console.log(person)
难度:
2021-07-02 创建

本题为"单选题"

参考答案:

正确选项:C:{name: "Lydia", age: 22}

函数 changeAge 和函数 changeAgeAndName 有着不同的参数,定义一个 生成的对象 { ...person }。这个对象有着所有 person 对象 中 k/v 值的副本。 首项, 我们调用 changeAge 函数并传递 person 对象作为它的参数。这个函数对 age 属性进行加一操作。person 现在是 { name: "Lydia", age: 22 }。 然后,我们调用函数 changeAgeAndName ,然而我们没有传递参数。取而代之,x 的值等价 new 生成的对象: { ...person }。因为它是一个新生成的对象,它并不会对对象 person 造成任何副作用。person 仍然等价于 { name: "Lydia", age: 22 }

最近更新时间:2024-08-03

赞赏支持

题库维护不易,您的支持就是我们最大的动力!