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.数组的解构赋值 2.对象的解构赋值 3.字符串的解构赋值 4.数值和布尔值的解构赋值 5.函数参数的解构赋值 ...
    卞卞村长L阅读 924评论 0 0
  • 基本用法 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring...
    嘉奇呦_nice阅读 792评论 0 2
  • 1.数组的结构赋值 基本用法 ES6 允许按照一定模式,从数组和对象中提取值,对现量进行复制,这被称为结构(Des...
    luck黑仔的前端之旅阅读 309评论 0 1
  • JavaScript的相关语法知识:1、函数(important)基本上所有的高级语言(C、OC、JavaScri...
    天山雪莲_38324阅读 650评论 0 2
  • 本文通过学习阮一峰的博客,外加自己的理解,整理了一下我对js变量的解构赋值的理解。 数组的解构赋值 对象的解构赋值...
    宋乐怡阅读 521评论 0 2