我正在阅读有关 Firefox 插件的 MDN 文档,我看到了一些我不理解的语法。
在其中一个例子中,他们说:
var { ToggleButton } = require('sdk/ui/button/toggle');
var panels = require("sdk/panel");
var self = require("sdk/self");
var button = ToggleButton({
...
});
为什么变量名在大括号内:var { ToggleButton } =
?
这里发生了什么?
最佳答案
您正在目睹 ES 2015 新功能(称为解构)的使用。
引用:https://github.com/lukehoban/es6features#destructuring
Firefox 支持对象解构: https://kangax.github.io/compat-table/es6/#destructuring_with_objects
更新:
这是证据。
ToggleButton 模块导出 ToggleButton
对象:
https://github.com/mozilla/addon-sdk/blob/master/lib/sdk/ui/button/toggle.js#L79
根据 ES 2015 解构规则,它会被正确解构为 { ToggleButton }
。
关于javascript - "var { someName } = require(' 某事')"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32256855/