ES6
支持数组解构,可以用简单的语法交换变量,如下所示,但这是否有效,并在
性能敏感的
代码中建议为数组处理?因为似乎需要
一个新的临时数组来完成此操作.
[a,b] = [b,a]
我们来试试吧!
let a = 42
let b = 69
console.log("for 2000000 iterations");
console.time("deconstruct")
for(let i=2000000; i>=0; --i)
[a,a];
console.timeEnd("deconstruct")
console.time("classical")
for(let i=2000000; i>=0; --i) {
let tmp = a
a = b
b = tmp
}
console.timeEnd("classical")
所以这似乎不是更好的方法.