Является ли наилучшей практикой извлечение строковых литералов в константы в Javascript?

В Java я считаю лучшей практикой заменять строковые литералы постоянной переменной всякий раз, когда они используются более чем в одном месте и должны совпадать. Например, если вы собираетесь установить файл cookie, а затем прочитать его обратно, имя файла cookie должно быть константой, чтобы компилятор мог помочь вам выявить орфографические ошибки, не говоря уже о том, чтобы вы могли иметь читаемое имя переменной. по сравнению с фактическим значением строки.

Я просматриваю подобный код на JavaScript и склонен рекомендовать заменять литералы константами. Однако я не уверен, что применяются те же причины, поскольку компилятора нет, а имя файла cookie является таким же описательным, как и имя переменной.

Редактировать: Что касается комментариев и ответов, полученных до сих пор, я определенно больше обеспокоен использованием констант, а не тем, как они на самом деле реализованы. Я вижу их ценность в Java и других скомпилированных языках как способ предотвращения ошибок, но я не уверен, что вижу такую ​​же ценность в Javascript.

В качестве механизма документирования, скажем, для магических чисел, я думаю, что наличие именованной переменной (даже если она не является константой) по-прежнему является хорошим способом улучшить читаемость.Но для строковых литералов я не уверен, что:

var trackingCookieName = "trackingCookie";

лучше, чем просто использование «trackingCookie», поскольку вы можете опечатать либо литерал, либо имя переменной, и в любом случае это будет поймано только во время выполнения.

5
задан KC Baltz 19 March 2012 в 19:15
поделиться