Cos’è questa syntax JavaScript: {Ci, CC}?

Sto facendo qualche sviluppo aggiuntivo FF e sto vedendo la syntax in questo modo:

var {Cc, Ci} = require('chrome'); 

Solo curioso di sapere cos’è questa syntax e se è speciale per lo sviluppo di FF o qualcos’altro.

Vedi la risposta di Domenic su cosa sia la syntax che viene chiamata un incarico destrutturante. La risposta che segue è il motivo per cui è necessario per lo sviluppo di componenti aggiuntivi FF.

C’è una discussione su cosa è e perché è necessario su http://groups.google.com/group/mozilla-labs-jetpack/browse_thread/thread/d288b79903b5b434 .

La risposta breve è sì, è specifica per lo sviluppo di componenti aggiuntivi per Firefox. La documentazione pertinente è disponibile su https://addons.mozilla.org/en-US/developers/docs/sdk/1.3/dev-guide/module-development/chrome.html .

Questo è chiamato incarico di destrutturazione. È una funzione di JavaScript 1.7 , dove in questo contesto “JavaScript” si riferisce alle estensioni specifiche di Mozilla allo standard ECMAScript.

È previsto l’ inclusione nella prossima versione di JavaScript .

Il codice ECMAScript 5 equivalente sarebbe

 var __temp = require('chrome'); var Cc = __temp.Cc; var Ci = __temp.Ci;