使用函数参数进行解构赋值

时间:2013-04-12 06:58:37

标签: javascript

function foo( [a,b] ) {

    console.log(a);
    console.log(b);
}

foo( [12,34] );

打印:

12
34

同样在这里:

 var { a:x, b:y } = { a:7, b:8 };
 console.log(x); // prints: 7
 console.log(y); // prints: 8

这种分配方法有效吗?这种方法会带来什么问题吗?

同样使用相同的技术我们可以交换两个变量:

var a = 1;
var b = 2;
[a,b] = [b,a];

我只是想知道将来会出现这类任务会出现什么问题?我在哪里可以找到与此类作业相关的最佳参考资料?

1 个答案:

答案 0 :(得分:0)

这是一个Javascript 1.7功能,它是Javascript的Mozilla实现的一部分。

https://developer.mozilla.org/en-US/docs/JavaScript/New_in_JavaScript/1.7#Destructuring_assignment_(Merge_into_own_page.2Fsection)

它不是任何ECMAScript标准的一部分(据我所知),我认为没有任何计划可以在其他浏览器中使用它;你不应该在便携式网站上使用它。