что означает @const в JavaScript? - PullRequest
22 голосов
/ 17 июня 2011

Мы рассматриваем вопрос о принятии правил кодирования Google JavaScript в нашей компании для обеспечения согласованности проектов, но меня смущает одна вещь. В разделе константы говорится, что нужно использовать аннотацию ключевого слова @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 ]

16 голосов
/ 17 июня 2011

Аннотации JSDoc, как эта, может использоваться для указания подсказок Google Closure Compiler , как описано в на этой странице . Опять же, это не является частью языка, и использование @constant (помимо добавления некоторой информации для вашего коллеги-программиста) уместно, только если вы используете компилятор закрытия в своем проекте.

Надеюсь, это поможет:)

4 голосов
/ 17 июня 2011

Похоже, это относится к использованию @const в JSDoc (Think JavaDoc) для пометки определенных объектов константой.

Это не ключевое слово javascript и не часть языка - просто что-то используемое во встроенной документациив JSDoc.

Редактировать: упоминание «никогда не используйте ключевое слово const» может сбить вас с толку.В рекомендациях говорится, что не следует использовать const, потому что IE его не поддерживает, вместо , помечая константу «константы» в документации.

Некоторые компиляторы javascript могут анализировать JSdoc для таких обозначений, ноЯ сомневаюсь, что это стандарт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...