我们正在考虑在公司内部采用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
关键字,Internet Explorer不解析它,因此请勿使用它。
答案 0 :(得分:16)
JSDoc注释,因为这个注释可以用来提供 Google Closure Compiler 的提示,如this page中所述。同样,这不是语言的一部分,只有在项目中使用闭包编译器时,使用@constant(除了为你的程序员添加一些信息)才有意义。
希望这会有所帮助:)
答案 1 :(得分:4)
看起来它指的是在JSDoc(Think JavaDoc)中使用@const来标记某些对象不变。
它不是javascript关键字,也不是语言的一部分 - 只是在JSDoc的内联文档中使用的东西。
编辑:提及“从不使用const关键字”可能会让您感到困惑。指南告诉不要使用const,因为IE不支持它,而不是在文档中标记“常量”常量。
有些javascript编译器可能会解析JSdoc这样的符号,但我怀疑它是标准的。