编辑 看着JSHint后,我发现这个" 解构表达"是ES6提供(使用esnext选项)或Mozilla JS扩展(使用MOZ)和本 看完后却我还是不明白为什么它被用来
我在MDN上遇到了以下代码
var ui = require("sdk/ui");
var { ActionButton } = require("sdk/ui/button/action");
Run Code Online (Sandbox Code Playgroud)
第二行的大括号是什么以及为什么使用它们?为什么第一行没有括号?
如果我想调用这样的函数:
moo({ a: 4 });
Run Code Online (Sandbox Code Playgroud)
通常,我必须这样表达我的函数定义:
function moo(myArgObj) {
print(myArgObj.a);
}
Run Code Online (Sandbox Code Playgroud)
但是,这种出色的语法在spidermonkey中对于定义函数完全有效:
function moo({ a, b, c }) { // valid syntax!
print(a); // prints 4
}
Run Code Online (Sandbox Code Playgroud)
这是什么功能?