代码1:
var a = 'Aaa';
var b = 'Bbb';
[a, b] = [b, a];
console.log(a);
console.log(b);
结果:
Bbb
Aaa
代码2:
var a = 'Aaa'
var b = 'Bbb'
[a, b] = [b, a]
console.log(a);
console.log(b);
结果:
Aaa
[ undefined, 'Aaa' ]
如果说JS并不强行要求每行语句末尾必须要用分号结尾的话,上面两段代码按道理来说结果不是应该一致的吗?
测试环境:node v6.10.2
不强行要求分号不代表不写分号是正确的。解释器会自动加分号,不保证完全能按你的意思加分号也许就加错分号了,结果就错了。变成了