为了账号安全,请及时绑定邮箱和手机立即绑定

es6 的扩展运算符的理解是怎么样的?

es6 的扩展运算符的理解是怎么样的?

交互式爱情 2019-03-05 16:19:32
es6 中的 ... 扩展运算符是 将数组展开[1,2,3] 展开为 1,2,3 那这个1,2,3是什么呢? 数组不是数组 ,字符串不是字符串后来对象的操作上也有了 ...运算符叫做解构赋值?let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };将 目标对象 的 属性 ,全部分配到指定对象上?让 目标对象有了 这个对象属性值?
查看完整描述

1 回答

?
繁花不似锦

TA贡献1851条经验 获得超4个赞


看东西的时候要随手敲一下,...arr这么单独的用是不对的。


1. 数组...扩展运算符


function demo (a, b) {

    console.log(a, b)

demo(...[1, 2])// 1 2

demo([1, 2]) //[1, 2] undefined

// 就是个展开的作用,不然你要写demo(arr[0], arr[1])

// 属于语法糖,简化代码的


2. 什么是解构赋值

相信这个你应该是理解的


let {a: a, b: b} = {a: 1, b: 2}

a // 1

b // 2

// 使用简洁表示法简写为{a, b} = {a: 1, b: 2}

// 那么解构赋值就是按照这种对应关系,去赋值变量


3. 解构赋值和对象的扩展运算符


let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 }

// x和y同上就不必说了

// 后面也就是展开的...z对应a:3, b:4

// 那么没展开的z不就是`{a: 3, b: 4}`了吗


4. 如果你在看es6入门这本书的话,一定要敲代码,同时,书中后面的例子会用到前面的东西,不要分割的去思考。


查看完整回答
反对 回复 2019-03-25
  • 1 回答
  • 0 关注
  • 332 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信