这是什么JavaScript语法:{Ci,CC}?

Bia*_*cki 32 javascript firefox firefox-addon

我正在做一些FF附加开发,我看到这样的语法:

var {Cc, Ci} = require('chrome');
Run Code Online (Sandbox Code Playgroud)

只是好奇这个语法是什么,如果它对FF开发或其他什么是特殊的.

Dom*_*nic 29

这称为解构分配.它是JavaScript 1.7的一个特性,在这种情况下,"JavaScript"指的是Mozilla对ECMAScript标准的特定扩展.

它将被包含在下一版本的JavaScript中.

等效的ECMAScript 5代码

var __temp = require('chrome');
var Cc = __temp.Cc;
var Ci = __temp.Ci;
Run Code Online (Sandbox Code Playgroud)


Bil*_*ill 8

请参阅Domenic关于语法是什么的解释,称为解构赋值.接下来的答案是为什么FF附加开发需要这个.

http://groups.google.com/group/mozilla-labs-jetpack/browse_thread/thread/d288b79903b5b434上讨论了这是什么以及为什么需要它.

简短的回答是肯定的,它是针对Firefox附加组件开发的.相关文档可在https://addons.mozilla.org/en-US/developers/docs/sdk/1.3/dev-guide/module-development/chrome.html上找到.

  • 错误的答案.这是ECMA 6的语法,仅仅因为Firefox是第一个实现解构分配的浏览器并不意味着它只与FIrefox插件开发相关. (5认同)
  • 我想我回答了错误的问题 - 我认为他们问你为什么现在需要`require('chrome')`用于FF附加组件.不幸的是答案被接受了,所以我不能删除它. (2认同)