变量的解构赋值(圆括号的问题)
2018-08-30 17:52
239 查看
阮一峰ES6入门
不能使用圆括号的情况
1.变量的声明语句
// 全部报错 let [(a)] = [1]; let {x: (c)} = {}; let ({x: c}) = {}; let {(x: c)} = {}; let {(x): c} = {}; let { o: ({ p: p }) } = { o: { p: 2 } };
2.函数参数
// 报错 function f([(z)]) { return z; } // 报错 function f([z,(x)]) { return x; }
3.赋值语句的模式
// 全部报错 ({ p: a }) = { p: 42 }; ([a]) = [5]; // 报错 [({ p: a }), { x: c }] = [{}, {}];
可以使用圆括号的情况
可以使用圆括号的情况只有一种:赋值语句的非模式部分,可以使用圆括号。
[(b)] = [3]; // 正确 ({ p: (d) } = {}); // 正确 [(parseInt.prop)] = [3]; // 正确
第一行语句中,模式是取数组的第一个成员,跟圆括号无关;第二行语句中,模式是p,而不是d;第三行语句与第一行语句的性质一致。
相关文章推荐
- 变量的解构赋值---圆括号问题
- 【es6】变量解构赋值
- 成员变量赋值问题【向前引用】
- ECMAScript6笔记:变量的解构赋值
- ES6--变量的声明及解构赋值
- 变量的解构赋值进阶
- JavaScript学习记录day6-函数变量作用域、解构赋值与方法
- python中将函数赋值给变量时需要注意的一些问题
- 变量的解构赋值
- php类变量赋值问题
- ES6之变量的解构赋值
- 细谈 Web Api 图片上传,在使用 Task.ContinueWith 变量无法赋值问题的解决办法!
- ECMAScript 6之变量的解构赋值
- 父类子类之间的一个经典题目(有关成员变量何时赋值和在哪里赋值的问题)
- 变量的解构赋值
- es6笔记(3) 变量的解构赋值
- 关于final变量的赋值问题
- ES6 变量的解构赋值
- C语言中变量未赋值问题总结
- java变量声明,赋值问题