({a,b}={a:1,b:2})为什么必须加括号?

来源:3-2 解构赋值

坨坨儿

2017-05-07

如果不加括号会报错,括号的含义是什么?

写回答

3回答

wobugaosuni2

2017-05-10

不加圆括号的话,解析器会将起首的大括号,理解为代码块。加了圆括号,解析器会将起首的大括号,理解成赋值语句。

2
1
坨坨儿
但是语法上可以这样写: let {a,b}={a:1,b:2} ;这又怎么解释
2017-05-14
共1条回复

ideanet

2017-05-10

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

这样是语法错误的,当然最新版的chrome是可以这么写的,不过firfox还是报错SyntaxError: expected expression, got '=';

但是当你在外面添加小括号,就变成一个表达式了,就能够运行了


1
0

qq__3853

2017-05-07

应该是因为是对象

0
1
坨坨儿
太笼统,具体语法依据是什么?
2017-05-09
共1条回复

ES6零基础教学 解析彩票项目

ES6从零开始,量身设计的迷你案例,让你全面掌握ES6

2579 学习 · 881 问题

查看课程