Подтвердить что ты не робот

Что означает @const в JavaScript?

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

4b9b3361

Ответ 1

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

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

Ответ 2

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

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

Изменить: упоминание "никогда не использовать ключевое слово const" может вас смутить. В руководящих принципах указывается, что нельзя использовать const, потому что IE не поддерживает его, вместо, отмечая константу констант в документации.

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