Was bedeuten geschweifte Klammern in den var {…} =…} -Anweisungen?

Ich bin mir nicht sicher, ob dies eine Mozilla-spezifische JS-Syntax ist, aber ich habe oft festgestellt, dass Variablen auf diese Weise deklariert wurden, zum Beispiel inAdd-On-SDK-Dokumente:

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

und in verschiedenen Chrom Javascript (let Anweisung wird anstelle von verwendetvar),

let { classes: Cc, interfaces: Ci, results: Cr, utils: Cu }  = Components;

Ich fand es sehr verwirrend, aber ich bin nicht in der Lage, Dokumentation über beide Syntax zu finden, auch nicht überMDN.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage