--- sidebar_position: 2 --- # Переменные **Переменная** – это «именованное хранилище» для данных. Можно объявить при помощи: - let - const (константа, т.е. изменению не подлежит) - var (устаревший способ, подробности позже) ```js let message; message = 'Hello'; // сохранить строку 'Hello' в переменной с именем message let user = 'John', age = 25, message = 'Hello'; let user = 'John', age = 25, message = 'Hello'; ``` Имя переменной может включать: - Буквы и цифры, однако цифра не может быть первым символом. - Символы $ и _ используются наряду с буквами. - Иероглифы и символы нелатинского алфавита также допустимы, но обычно не используются. Переменные типизируются динамически. В них могут храниться любые значения. Всего существует 8 типов данных: - number для целых и вещественных чисел, - bigint для работы с целыми числами произвольной длины, - string для строк, - boolean для логических значений истинности или ложности: true/false, - null – тип с единственным значением null, т.е. «пустое значение» или «значение не существует», - undefined – тип с единственным значением undefined, т.е. «значение не задано», - object и symbol – сложные структуры данных и уникальные идентификаторы; их мы ещё не изучили. Оператор typeof возвращает тип значения переменной, с двумя исключениями: ```js typeof null == "object" // ошибка в языке typeof function(){} == "function" // именно для функций ```