Почему пишут const когда можно написать let?
Я иногда вижу, что пишут const (значение этой переменной я знаю), хотя можно просто написать let. Это что, просто особенность "подчерка"?
Вот пример:
const prev = document.querySelector(".btn_prev");
const next = document.querySelector(".btn_next");
let prev = document.querySelector(".btn_prev");
let next = document.querySelector(".btn_next");
Ну зачем кнопки брать в const?
Что const не изменяемая, это я знаю.
Ответы (2 шт):
1) Добавляет читаемости коду (хоть какой то порядок пытаемся навести в анархичном JS)
А умение разбираться в чужом коде - это очень хороший навык. И если сразу увидишь const то будешь уверен, что нигде ссылка не переписывается дальше по коду. И я думаю, что следующий программер который будет разбираться в коде скажет спасибо, если будет все интуитивно понятно.
2) Самому закладывать логику кода удобнее
Когда ты сам понимаешь, как должна работать твоя функция, то и легко определить где значение должно быть железно определено и неизменяемо, а где будет действительно переменное значение переменной (классная тавтология)
PS. Нашел краткое резюме отличий между var, let и const:
var:
// function scoped (область видимости ограничивается функцией)
// undefined when accessing a variable before it's declared (при обращении вернет undefined)
let:
// block scoped (область видимости ограничивается блоком {} )
// ReferenceError when accessing a variable before it's declared (при обращении выдаст ReferenceError)
const:
// block scoped (область видимости ограничивается блоком {} )
// ReferenceError when accessing a variable before it's declared (при обращении выдаст ReferenceError)
// can't be reassigned (невозможно переопределить)
если говорить практично, то const используют один раз и более не переназначают это значение, в отличии от let которым можно назначить, а потом ещё раз.
Пример: 1) const = user
2) let = user Далее где-то, можем сделать так: let = user + user2