javascript变量名的{大括号}是什么意思[重复]

问题描述 投票:154回答:1

编辑查看JSHint后,我发现此'destructuring expression'在ES6(使用esnext选项)或Mozilla JS扩展(使用moz)]中可用this,但是在阅读之后,我仍然不明白为什么使用它

我在MDN上遇到了以下代码

var ui = require("sdk/ui");
var { ActionButton } = require("sdk/ui/button/action");

第二行的花括号起什么作用,为什么要使用它们?为什么第一行没有大括号?

javascript firefox firefox-addon
1个回答
205
投票
这就是destructuring assignment,它是JavaScript 1.7(和ECMAScript 6)的新功能(当前,仅可作为Firefox JavaScript引擎的一部分使用。)大致来说,它将转换为:] >

var ActionButton = require("sdk/ui/button/action").ActionButton;

在此示例中,这似乎很愚蠢,因为仅分配了一项。但是,您可以使用此模式一次分配多个变量:
© www.soinside.com 2019 - 2024. All rights reserved.