@const在JavaScript中意味着什么?

时间:2011-06-17 11:21:42

标签: javascript coding-style

我们正在考虑在公司内部采用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不解析它,因此请勿使用它。

2 个答案:

答案 0 :(得分:16)

JSDoc注释,因为这个注释可以用来提供 Google Closure Compiler 的提示,如this page中所述。同样,这不是语言的一部分,只有在项目中使用闭包编译器时,使用@constant(除了为你的程序员添加一些信息)才有意义。

希望这会有所帮助:)

答案 1 :(得分:4)

看起来它指的是在JSDoc(Think JavaDoc)中使用@const来标记某些对象不变。

它不是javascript关键字,也不是语言的一部分 - 只是在JSDoc的内联文档中使用的东西。

编辑:提及“从不使用const关键字”可能会让您感到困惑。指南告诉不要使用const,因为IE不支持它,而不是在文档中标记“常量”常量。

有些javascript编译器可能会解析JSdoc这样的符号,但我怀疑它是标准的。