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

es6 中的 ... 扩展运算符是 将数组展开

[1,2,3] 展开为 1,2,3 那这个1,2,3是什么呢? 数组不是数组 ,字符串不是字符串

后来对象的操作上也有了 ...运算符
叫做解构赋值?
let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };
将 目标对象 的 属性 ,全部分配到指定对象上?
让 目标对象有了 这个对象属性值?


交互式爱情
浏览 333回答 1
1回答

繁花不似锦

看东西的时候要随手敲一下,...arr这么单独的用是不对的。1. 数组...扩展运算符function demo (a, b) {    console.log(a, b)} demo(...[1, 2])// 1 2demo([1, 2]) //[1, 2] undefined// 就是个展开的作用,不然你要写demo(arr[0], arr[1])// 属于语法糖,简化代码的2. 什么是解构赋值相信这个你应该是理解的let {a: a, b: b} = {a: 1, b: 2}a // 1b // 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入门这本书的话,一定要敲代码,同时,书中后面的例子会用到前面的东西,不要分割的去思考。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript