Задать вопрос

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

Начал замечать что очень многие стали использовать вместо var, let и const. Имеет ли такой переход какое-то практическое значение? Или эти ключевые слова нужны лишь для тех кто пришел с языков C? Я понимаю что тот же const может дать какую-то оптимизацию, но наколько это значительно?
  • Вопрос задан
  • 1600 просмотров
Подписаться 5 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 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 =)
Ответ написан
tundramani
@tundramani
let лучше var и полностью его заменяет

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

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

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

Похожие вопросы