接下来在一个来源中看到了:
[param_o,param_got] = [param_got,param_o];
此代码交换变量param_o
& param_got
。但[param_o,param_got] = [param_got,param_o]
如何运作,如果[]
是Javascript中Array
的新实例?
修改 尝试检查:
var param_o = 1;
var param_got = 2;
[param_o,param_got] = [param_got,param_o];
console.log(param_o+" "+param_got);
// 2 1
答案 0 :(得分:5)
此表示法称为destructuring assignment,是Javascript 1.7的一部分:
解构分配使得从数组中提取数据成为可能 或使用反映数组和结构的语法的对象 对象文字。
对象和数组文字表达式提供了一种简单的创建方法 ad-hoc数据包。一旦你创建了这些数据包, 你可以用任何你想要的方式使用它们。你甚至可以从中归还 功能
您可以使用解构分配做一件特别有用的事情 是在一个语句中读取整个结构。
first sample实际上明确地证明了这对于避免代码示例中的临时变量很有用。
自Firefox 2以来,Firefox已经支持此功能。对于Chrome bug is still open after 3 years。 IE11不支持我刚刚测试的内容。