Основная причина, по которой я предпочитаю const, а не let по умолчанию, заключается в предотвращении случайного повторного назначения. Если переменная будет переназначена, я хочу хорошенько подумать об этом, чтобы убедиться, что это то, чего я действительно хочу. Почти всегда переназначение (повторное связывание) — это не то, что мне нужно, поэтому мой код на 95% состоит из констант и только на 5% из них.

Для меня это соображение (предотвращение нежелательного повторного назначения) значительно перевешивает различные аргументы против постоянной константы, но я привожу их здесь для более полного анализа.

Аргументы против постоянной константы (и почему они терпят неудачу)

Аргумент, что Constantly Const поощряет многословие. Учитывать:

Связанным является аргумент, что «const» имеет длину 5, а «let» имеет длину 3, поэтому let предпочтительнее. Не думаю, что это требует большого анализа. :)

Также связанный аргумент, который let полезен, даже если переменная не будет переназначена:

Аргумент, что Constantly Const вводит программиста в заблуждение, заставляя его думать, что свойства объекта (или элементы массива) также являются константами. Учитывать:

Аргумент о том, что Constantly Const заставляет вас реорганизовать свой код при внесении простого изменения. Учитывать:

Вам нравится эта статья? Хотите, чтобы я написал больше, как это? Дай мне знать.

Использованная литература:

Про «Либерал Лет»:

Мэтью Бил: https://madhatted.com/2016/1/25/let-it-be

Джейми Билдс: https://jamie.build/const

Плюс «Постоянно Постоянный»:

Петр Мионсковски: https://dev.to/brightdevs/typescript-tips-from-kotlin-developer---const-jde

Эрик Эллиотт: https://medium.com/javascript-scene/javascript-es6-var-let-or-const-ba58b8dcde75

Матиас Байненс: https://mathiasbynens.be/notes/es6-const

Макс Хейбер: https://medium.com/@maxheiber/es2015-const-has-something-to-do-with-mutation-227852c010df

Николас С. Закас: https://leanpub.com/understandinges6/read/#leanpub-auto-summary

Аксель Раушмайер: http://exploringjs.com/es6/ch_variables.html#const-vs-let-vs-var

Николас Бевакуа: https://ponyfoo.com/articles/var-let-const