JavaScript中的[]和{}

最早开始对js中括号的使用有疑问是在交互2值的时候:

a = [b,b=a][0];

详见JavaScript交换两个变量值的七种解决方案

因为 [[]][0] 的意思是:获取 [[]] 的第一个元素;

[[]][0] 返回内部数组 ([])。根据语言规范,我们说 [[]][0] === [] 是不正确的,但让我们把这个内部数组称作 A,以避免错误的写法。

也可以这样理解:根据运算符优先级,首先执行b=a,此时的b直接得到了a的变量值,然后一步数组索引让a得到了b的值。

{}又涉及到块作用域。

原文地址:https://www.cnblogs.com/Unknw/p/6266562.html