【问题标题】:what does @const mean in JavaScript?@const 在 JavaScript 中是什么意思?
【发布时间】:2011-06-17 11:21:41
【问题描述】:
我们正在考虑在公司内部采用Google JavaScript coding guidelines 以保持项目间的一致性,但有一件事让我感到困惑。在constants 部分中,它说使用@const 关键字注释来执行编译时常量,但我以前从未遇到过@ 符号。这是 Google 扩展还是核心语言的一部分?
这是全文:
对于非基元,使用@const 注释。
/**
* The number of seconds in each of the given units.
* @type {Object.<number>}
* @const
*/
goog.example.SECONDS_TABLE = {
minute: 60,
hour: 60 * 60
day: 60 * 60 * 24
}
这允许编译器强制执行常量。
至于const关键字,IE不解析,所以不要使用。
【问题讨论】:
标签:
javascript
coding-style
【解决方案1】:
JSDoc 注释,因为这个注释可用于向 Google Closure Compiler 提供提示,如this page 中所述。同样,这不是语言的一部分,只有当您在项目中使用闭包编译器时,@constant 的使用(除了为您的程序员同事添加一些信息之外)才相关。
希望这会有所帮助:)
【解决方案2】:
看起来是指在 JSDoc (Think JavaDoc) 中使用 @const 来标记某些对象为常量。
它不是 javascript 关键字,也不是语言的一部分 - 只是 JSDoc 的内联文档中使用的东西。
编辑:提及“从不使用 const 关键字”可能会让您感到困惑。指南告诉不要使用 const,因为 IE 不支持它,而是在文档中标记“常量”常量。
一些 javascript 编译器可能会解析 JSdoc 以获得这样的符号,但我怀疑它是标准的。