javascript - 使用函数参数解构赋值

标签 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];

我就想知道这种赋值以后会出现什么问题?我在哪里可以找到与此类作业相关的最佳引用资料?

最佳答案

这是 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 标准的一部分(据我所知),我认为没有任何计划让它在其他浏览器中可用;你不应该在可移植网站中使用它。

关于javascript - 使用函数参数解构赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15965024/

相关文章:

javascript - 正则表达式失败 javascript

javascript - 仅在最后一个索引处检查 foreach 中的 if 条件

javascript - 如何防止 jQueryUI 的可拖动交互超出页面上的某个偏移量?

javascript - 哪个是定义函数的更好方法?

javascript - RecaptchaState 未定义

javascript - 模块构建失败(来自 ./node_modules/mini-css-extract-plugin/dist/loader.js): ReferenceError: document is not defined

javascript - 从 WebView 中的动态 HTML 内容连接到 Azure 移动服务

javascript - 为什么我的 map 方法返回未定义?

javascript - 在 Jetty 9 中使用 doGET 转发到另一个 html 页面时出错

javascript - 从javascript函数注入(inject)javascript资源