var, let, const

Переменную в JS можно объявить, на сколько нам известно, тремя способами:

1) var.

2) let.

3) const.

С const всё вроде как ясно и так. Они являются аналогами const в том же C#.

Но что на счёт let и var? Чем они отличаются?

var это вроде как старый вариант. Сейчас, в последних версиях JS (в частности в Visual Studio) var подчёркивается как нежелательное ключевое слово, и предлагает поменять на let или const.

Итак, отличия:

1. let переменную видно только в блоке { } где она объявлена

var переменная имеет глобальную облать видимости, и с ней можно взаимодействовать из других блоков программы

2. let переменная видна только после её объявления.

К переменной var можно обратиться и до её объявления

3. В циклах for :

let можно ипользовать неоднократно, при каждом перечислении:

for (let i=0;i<9;i  ){
for (let i=12;i<100;i ){
//***
}
}

var можно объявлять в циклах только один раз:

for (var i=0;i<9;i  ){
for (var j=12;j<100;j ){
//***
}
}

const по сути - это то же самое что и let, только константы нельзя изменять. По всем остальным признакам они повторяют const.