1、 参数解构与箭头函数

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

const list = [1, 2, 3, 4]
const user = {name: 'ouyang', age: 27}

console.log(getList(list)) // [1, [2, 3, 4]]
console.log(getUser(user)) // undefined

解析:

1、getList

接受参数 list 时会对应立即解构赋值,等同于 [x, ...y] = [1, 2, 3, 4],所以 x = 1, y = [2, 3, 4] 故结果返回 [1, [2, 3, 4]]

2、getUser

对于箭头函数, 返回一个值是不用写花括号的 {},如上面 getList 返回一个数组,并没有写花括号,但是,如果要返回的为一个对象,返回的值必须用 () 包裹起来,否则不会返回任何值,为 undefined。如正常返回,如下:

const getUser = user => ({name: user.name, age: user.age})

PS:此题出自<<高级前端面试>>小程序,可前往学习。

你可能感兴趣的:(1、 参数解构与箭头函数)