Skip to content

输出什么?

javascript
const getList = ([x, ...y]) => [x, y]
const getUser = user => ({ name: user.name, age: user.age })

const list = [1, 2, 3, 4]
const user = { name: "Lydia", age: 21 }

console.log(getList(list))
console.log(getUser(user))

A. [1, [2, 3, 4]] 、 undefined B. [1, [2, 3, 4]] 、 { name: "Lydia", age: 21 } C. [1, 2, 3, 4] 、 { name: "Lydia", age: 21 } D. Error 、

答案: B

解析:

getList函数接收一个数组作为其参数。

getList函数的括号之间,我们立即解构这个数组。

可以将其视为: [x, ...y] = [1, 2, 3, 4] 使用剩余的参数... y,我们将所有剩余参数放在一个数组中。 在这种情况下,其余的参数是234y的值是一个数组,包含所有其余参数。 在这种情况下,x的值等于1,所以当我们打印[x,y]时,会打印[1,[2,3,4]]

getUser函数接收一个对象。对于箭头函数,如果只返回一个值,我们不必编写花括号。但是,如果一个箭头函数返回了一个对象,就必须在圆括号之间编写它,否则就会报错。