Переменные в JavaScript

Лекция с Udemy про переменые в JavaScript

Переменные в JavaScript - это хранилище информации. Визуально их можно представить как коробки, которые что то содержат внутри себя.

Чтобы объявить переменную существует сразу 3 способа.

Две ключевые фразы let и const относятся к современной версии JavaScript.

Так же есть ключевое слово var с помощью которого можно объявить переменную, но он относится к устаревшей версии и использовать var не рекомендуется.

let

Первый способ - через ключевое слово let

Для того чтобы объявить переменную, прописываем ключевое слово let, после этого пишем имя переменной, дальше ставим знак присваивания "=", и пишем значение этой самой переменной.

В программировании знак равенства "=" называется знаком присваивания. Нужно помнить об этом.

let name = "Dxrkd3v"; 
let    // Ключевое слово, для объявления переменной   
name      // имя переменной
=      // знак присваивания
Dxrkd3v      // значение переменной
;      // завершение блока кода

const

Второй способ - через ключевое слово const

const - переводится как "константа" и переменная созданная с помощью const не может быть перезаписана.

const dateOfBirth = 29.06.1999;

Имя переменной может сосотоять из букв, цифр, симфола доллара "$" и нижнего подчеркивая. И первый символ имени переменной не может быть цифрой

Еще имена переменных не должны повторять зарезервированные слова в самом языке JavaScript такие как error, alert, prompt и так далее

const используется в таких переменных, значения которых в дальнейшем не меняются. Например для хранения имен, даты рождений и так далее.

У ключевого слова const есть одна особенность, его значение можно перезаписать если создать объект через const

const object {
    age: 25;    
}
object.age = 35;   // перепишем значение age
console.log(object.age);  // ответ получим 35     

var

var - это устаревший формат записи переменных. Переменные записанные через var встречаются в старых скриптах.

Переменные записанные через var можно перезаписать как и через let

Проблема var в том что, переменная записанная через var существует еще до того как она была объявлена в коде и поэтому она видна везде

При обращеннии к переменной которая записана через var еще до того как до нее дойдет поток консоль выдаст undefined. Например:

console.log(name);  // выдаст undefined    
var name = "Dxrkd3v"; 

Такое поведение называется "hoisting" или всплытие переменных.

Еще одна особеность let и const в том что они видны в блоке кода ограниченного фигурными скобками

{ 
  let result = 29;    
}
console.log(result);   // вернет result is not defined   

Если записать через var то доступ к переменной "result" будет открыт.

Если нужно узнать какие конструкции можно использовать в разных браузерах нужно использовать сервис Can I Use

"use strict"

Дериктива указывается в начале скрипта и указывает браузеру, что дальнейший код работает в "современном" режиме".

"use strict";
// этот код работает в современном режиме   
    ...

Без использования "use strict" можно обращаться к переменным которые были объявлены без ключевых слов и получать из них информацию. С "use strict" получаем is not defined.