微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ecmascript-6 – 通过数组解构交换变量是否有效?

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")

所以这似乎不是更好的方法.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐