2011-06-17 90 views
22

我們正在考慮在我們公司內部採用Google JavaScript coding guidelines以保持各項目的一致性,但有一件事讓我感到困惑。在關於constants的部分中,它表示使用@const關鍵字註釋來進行編譯時常量強制執行,但我之前從未遇到過@符號。這是Google擴展還是核心語言的一部分?@const在JavaScript中的含義是什麼?

以下是全文:

對於非原語,使用@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不解析它,所以不要使用它。

回答

16

JSDoc註釋,因爲這個可以用來給Google Closure編譯器提供提示,如this page中所述。同樣,這不是該語言的一部分,只有在項目中使用閉包編譯器時,纔會使用@constant(除了爲您的程序員添加一些信息外)。

希望這將有助於:)

4

看起來像是指在JSDoc(Think JavaDoc)中使用@const來標記某些對象爲常量。

它不是一個javascript關鍵字,也不是語言的一部分 - 只是JSDoc中內聯文檔中使用的東西。

編輯:提及'從不使用const關鍵字'可能會讓您感到困惑。該指導原則告訴不要使用const,因爲IE不支持它,而不是在文檔中標記「常量」常量。

某些javascript編譯器可能會解析JSdoc來表示這種符號,但我懷疑它是標準的。

+1

我非常懷疑任何主流的JS引擎解析JSDoc – Raynos 2011-06-17 11:51:40

相關問題