输出什么?
javascript
const user = {
email: "e@mail.com",
password: "12345"
}
const updateUser = ({ email, password }) => {
if (email) {
Object.assign(user, { email })
}
if (password) {
user.password = password
}
return user
}
const updatedUser = updateUser({ email: "new@email.com" })
console.log(updatedUser === user)A. false B. true C. TypeError D. ReferenceError
答案: B
解析:
updateUser 函数更新user的 email 和 password 属性的值, 如果它们的值传入函数, 函数返回的就是 user 对象。 updateUser 函数的返回值是 user 对象,意味着updatedUser的值与 user 指向的是同一个 user 对象。updatedUser === user 为 true.