从某种意义上说,我知道这可能是es6中的一种语法,它更改了a
和b
的位置,
但是我想知道面向Web的程序员是否优雅?并且是否有必要替换中间变量,例如:
var a=3,b=5;
var temp;
temp = a;
a = b;
b = temp;
对此:
var a = 3,b = 5;
[a,b] = [b,a];
它们之间在性能上有什么区别?
答案 0 :(得分:1)
这都是交换变量的有效方法。
解构所需的代码更少,可以被认为是一种更优雅的方法,但是看起来它现在比使用temp变量要慢:
const startTempVariable = new Date();
for (let i = 0; i < 100000000; i++) {
var a=3, b=5;
var temp;
temp = a;
a = b;
b = temp;
}
console.log(`temp variable: ${new Date() - startTempVariable}ms`);
const startDestructuring = new Date();
for (let i = 0; i < 100000000; i++) {
var a=3, b=5;
[a,b] = [b,a];
}
console.log(`destructuring: ${new Date() - startDestructuring}ms`);
尽管这两种方法都非常快,所以对于大多数Web编程方案而言,这两种方法都可以。
如果您要编写一些性能代码,则当前需要使用temp变量。