js不写分号时遇到的bug
2018-11-27 本文已影响0人
size_of
使用ES6语法进行值交换时使用了类似下面的代码,
var t = 2
var r = 1
[r,t] = [t,r]
console.log(r,t)
你是不是以为结果会是2 1
?
实际的输出结果是:[2, undefined] 2
。
原来就算是用回车换行,方括号还是会和var r = 1
合并到一行,变成var r = 1[r,t] = [t,r]
,所以我们需要在方括号前加分号防止它和上一句代码合并。
我还不清楚错误的结果是如何生成的,欢迎大家在评论中多多指教~