var const let

Поскольку я медленно погружаюсь в мир ES6 (да, я начал в середине 2016, когда все крутые ребята уже годами на нем пишут), у меня появилась проблема: когда использовать const, а когда let, и нужно ли еще использовать var.

Контекст: node.js

TL,DR: всегда используйте const, исключая примитивы, значения которых будут изменяться, в таких случаях используйте let.

var: никогда больше

Не используйте var вообще. Жаль, поскольку больше чем за 17 лет использования var у меня выработалась мышечная память.

Немного печально, ведь я больше не могу сделать никакой магии со всплытием. Что само по себе является достаточным, чтобы прекратить использовать var. Впрочем, теперь у нас есть const и let для определения переменных, и var действительно не нужен.

Честно, я вообще не вижу в этом необходимости (опять же, в контексте Node)… Может, я ошибаюсь?

const: всегда, но не всегда

Первая важная вещь, которую нужно держать в голове при использовании const состоит в том, что в действительности это не константа. Точнее говоря — использование const не делает объекты неизменяемыми.

Лучшее определение для понимания const (которое я нашел): переменная, присвоенная при помощи const, является неизменяемым указателем. Примитивные типы, такие как строки, булевы и числа не могут быть изменены, так как переменная указывает непосредственно на примитив (так, вы не можете сделать const a = 10; a++). Объекты и массивы, с другой стороны, их свойства можно менять.

Тем не менее, по мнению большинства, использование const — это способ документирования своих намерений для будущей читаемости кода. Мое мнение: всегда используйте const.

let: исключение

Предположим, вы (или я) используете только const, единственным исключением будет случай, когда я знаю, что содержимое переменной изменится. Например, в цикле for, или при каком-то динамическом определении. Тогда и только тогда, нужно использовать let.

Поместить этот пост в раздел “вещи, которые я должен был узнать 18 месяцев назад”


Оригинал статьи: var const let by Remy Sharp

Like what you read? Give echobrain a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.