Что такое var, let и const?

В JavaScript для объявления переменной используются следующие ключевые слова:

  • let - для обозначения переменной, значение которой можно последовательно изменять. В таком случае просто пишем имя переменной без ключевого слова:
    let num = 10;
    num = 11;
    console.log(num); // выведет 11
    
  • const - для переменных, содержащих неизменяемое значение, т.е. констант. Напр., у нас есть имя, которой мы хотим сохранить неизменным. Давайте попробуем его переназначить:
    const name = 'user1';
    name = 'user2';
    console.log(num); // выведет ошибку
    
  • Иногда Вы могли встречать объявление переменной через var, однако согласно новому стандарту ES6 лучше отказаться от её использования. Это связано в первую очередь с тем, что переменная с типом var будет видна во всех блоках кода, что может привести к трудноуловимым ошибкам. Давайте объявим переменную через let и попробуем вывести её в консоль:
    let age = 16;
    if (age == 16) {
    	let greet = 'You can not these content';
    }
    
    console.log(greet); // выведет ошибку
    
    А теперь воспользуемся var:
    let age = 16;
    if (age == 16) {
    	var greet = 'You can not these content';
    }
    
    console.log(greet); // выведет ошибку