Стоит ли переходить с var на let и const?

Начал замечать что очень многие стали использовать вместо var, let и const. Имеет ли такой переход какое-то практическое значение? Или эти ключевые слова нужны лишь для тех кто пришел с языков C? Я понимаю что тот же const может дать какую-то оптимизацию, но наколько это значительно?
  • Вопрос задан
  • 1266 просмотров
Пригласить эксперта
Ответы на вопрос 7
b0nn1e
@b0nn1e
Alcohol & Ruby on Rails
ИМХО быстрее было бы бы зайти и почитать https://learn.javascript.ru/let-const чем создавать вопрос.
Ответ написан
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
Это имеет значение для:
  1. Вас, убережет вас от очень, очень многих мелких ошибок.
  2. Интерпретатора, так как это позволит ему, в некоторых случаях, раньше освобождать память
Ответ написан
dollar
@dollar
На чёткий вопрос - чёткий ответ.
Нужно использовать и то, и другое одновременно, в зависимости от обстоятельств.

Например, если вы используете Google Script, то var, потому что там что-то типа ES5.
Если шлёте код другу, чтобы он проверил его через консоль браузера, то опять var, потому что если что-то поменяется и надо будет ещё раз проверить, то он запустится без ошибок (о том, что переменная уже объявлена).

С другой стороны, в одном пространстве (например, внутри функции) вы можете использовать несколько одинаковых переменных с помощью let на разных уровнях, и не бояться конфликтов, в то время как через var будет одна и та же переменная. Пример:
for(let i=0;i<2;i++)for(let i=0;i<2;i++)console.log(i); //покажет 4 раза
for(var i=0;i<2;i++)for(var i=0;i<2;i++)console.log(i); //покажет 2 раза

Каждое имеет свои особенности и удобно по-своему.
Ответ написан
@nrgian
Имеет ли такой переход какое-то практическое значение?

Var, let или const? Проблемы областей видимости пе...

Начал замечать что очень многие стали использовать вместо var, let и const

ES6/ES2015 тоже мимо вас прошёл?
ES6, ES8, ES2017: что такое ECMAScript и чем это о...
Не забывайте про транспиляцию.
Ответ написан
@ned4ded
Верстка, Фронтенд
Это значительно ровно настолько, насколько вы обеспокоены удобочитаемостью и организованностью вашего кода.

Рекомендую ознакомиться, если найдется время airbnb codestyle

Есть, конечно, и практическое значение в использовании const, let и иных фишек es6+, включая иммутабельность значений примитивов первого и скоупов обоих, но раз вы не сталкиваетесь в повседневности с такими проблемами, которые помогают решать константы и блочные переменные, то и знать вам о них, наверное, ни к чему?)
Ответ написан
morrisen
@morrisen
Developer
Лично я перешел только из-за того, что var подсвечивался в WebStorm.
Это жутко не нравится и решил что теперь буду писать только let/const =)
Ответ написан
let лучше var и полностью его заменяет

но не работает в IE
https://caniuse.com/#search=let

const можно не использовать вообще
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
XPOWER Одесса
от 3 000 до 5 500 $
Artezio Москва
от 160 000 до 220 000 ₽