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

 Начал замечать что очень многие стали использовать вместо var, let и const. Имеет ли такой переход какое-то практическое значение? Или эти ключевые слова нужны лишь для тех кто пришел с языков C? Я понимаю что тот же const может дать какую-то оптимизацию, но наколько это значительно? 

 Это имеет значение для:  
1. Вас, убережет вас от **очень**, **очень** многих мелких ошибок.
2. Интерпретатора, так как это позволит ему, в некоторых случаях, раньше освобождать память

 

 Нужно использовать и то, и другое одновременно, в зависимости от обстоятельств.  
  

Например, если вы используете 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 раза
```
  

Каждое имеет свои особенности и удобно по-своему. 

> Имеет ли такой переход какое-то практическое значение?

  
[Var, let или const? Проблемы областей видимости пе...](https://habr.com/ru/company/ruvds/blog/420359/)  
  

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

  

ES6/ES2015 тоже мимо вас прошёл?  
[ES6, ES8, ES2017: что такое ECMAScript и чем это о...](https://tproger.ru/translations/wtf-is-ecmascript/)  

Не забывайте про **транспиляцию**. 

 Это значительно ровно настолько, насколько вы обеспокоены удобочитаемостью и организованностью вашего кода.  
  

  

Есть, конечно, и практическое значение в использовании const, let и иных фишек es6+, включая иммутабельность значений примитивов первого и скоупов обоих, но раз вы не сталкиваетесь в повседневности с такими проблемами, которые помогают решать константы и блочные переменные, то и знать вам о них, наверное, ни к чему?) 

 Лично я перешел только из-за того, что var подсвечивался в WebStorm.   

Это жутко не нравится и решил что теперь буду писать только let/const =) 

 let лучше var и полностью его заменяет  
  

но не работает в IE  

<https://caniuse.com/#search=let>  
  

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