13

我在 Firefox addon-sdk中看到了很多在声明变量时使用以下样式的示例。

var { Hotkey } = require("sdk/hotkeys");

它与var { Hotkey }using有什么区别var HotKey?为什么要使用额外的花括号?

4

1 回答 1

14

这是解构赋值

var {Hotkey} = require('sdk/hotkeys');

相当于:

var Hotkey = require('sdk/hotkeys').Hotkey;

另见和谐:解构提案,其中包括以下示例:

// object destructuring
var { op: a, lhs: b, rhs: c } = getASTNode()

// digging deeper into an object
var { op: a, lhs: { op: b }, rhs: c } = getASTNode()
于 2013-02-13T07:19:57.463 回答