title: What does curly brackets in the `var { ... } = ...` statements do?
body: <p>Not sure if this is a Mozilla-specific JS syntax, but I often found variables being declared this way, for example, in <a href="https://addons.mozilla.org/en-US/developers/docs/sdk/latest/modules/sdk/hotkeys.html" rel="noreferrer">add-on SDK docs</a>:</p>
  
  <pre><code>var { Hotkey } = require("sdk/hotkeys");
  </code></pre>
  
  <p>and in various chrome Javascript (<code>let</code> statement is being used in place of <code>var</code>),</p>
  
  <pre><code>let { classes: Cc, interfaces: Ci, results: Cr, utils: Cu }  = Components;
  </code></pre>
  
  <p>I found it very confusing but I am not being able to find any documentation about both syntax, even on <a href="https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Statements/var" rel="noreferrer">MDN</a>.</p>