Перейти к содержанию
Educora
Начальный12 мин2 / 27

Переменные и типы данных

Научись создавать переменные с `let` и `const`, правильно их называть и различать основные типы данных JavaScript.

Проверь себя
В этом уроке ты узнаешь
  • Объявлять переменные с let и const и присваивать им значения
  • Давать переменным правильные и понятные имена
  • Определять тип значения с помощью typeof

Игра помнит твоё имя, количество очков и уровень, на котором ты находишься. Интернет-магазин знает, сколько товаров в корзине и сколько они стоят. Чтобы запоминать информацию, программы используют переменные — они похожи на коробки с наклейкой-названием.

Создание переменной: let

Определение
Переменная

Именованная область памяти, в которой хранится значение. Значение можно прочитать по имени и при необходимости изменить.

Переменную мы объявляем ключевым словом let, а значение присваиваем знаком =. Внимание: в программировании = означает не «равно», а «запиши значение справа в переменную слева». Поэтому score = score + 5 — вполне правильная инструкция: к старому значению прибавляется 5.

JavaScript
let score = 0;
console.log('Start:', score);

score = 10;
console.log('After level 1:', score);

score = score + 5;
console.log('After bonus:', score);
▸ Ожидаемый результат
Start: 0
After level 1: 10
After bonus: 15

Слово let пишется только при первом создании переменной. При последующих изменениях достаточно имени и нового значения.

Константы: const

Некоторые значения не меняются всё время работы программы: название страны, количество дней в неделе, ставка налога. Для них используется const (от constant — постоянная). Переменной, созданной через const, нельзя присвоить новое значение.

JavaScript
const country = 'Azerbaijan';
const capital = 'Baku';
let temperature = 18;

temperature = 21;
console.log(capital, 'is the capital of', country);
console.log('Temperature:', temperature);
▸ Ожидаемый результат
Baku is the capital of Azerbaijan
Temperature: 21
JavaScript
const capital = 'Baku';
capital = 'Ganja';
Ожидаемый результат
Uncaught TypeError: Assignment to constant variable.
Попытка присвоить const-переменной новое значение заканчивается ошибкой.

Как называть переменные

Имя может состоять из букв, цифр и знаков _ и $, но не может начинаться с цифры и содержать пробелы. Ключевые слова вроде let, const или if не могут быть именами. Имена из нескольких слов в JavaScript пишут в стиле camelCase: первое слово со строчной буквы, каждое следующее — с заглавной.

ИмяМожно?Почему
userName✓camelCase, понятное
totalPrice2✓цифра может стоять в конце
2ndPlace✗начинается с цифры
first name✗есть пробел
const✗это ключевое слово
x1✓можно, но непонятно, что внутри

Типы данных и typeof

У каждого значения есть тип. Тип определяет, что можно делать со значением: числа можно складывать, а текст — переводить в заглавные буквы. Оператор typeof возвращает тип значения в виде строки.

ТипПримерЧто хранит
number42, 3.14, -7целые и дробные числа — это один тип
string'Leyla', '42'текст в кавычках
booleantrue, falseлогическое значение: истина или ложь
undefinedundefinedзначение ещё не задано
nullnullнамеренно «пустое» значение
Есть ещё два редких типа — bigint (очень большие целые числа) и symbol. С объектами познакомишься в следующих уроках.
JavaScript
console.log(typeof 42);
console.log(typeof 3.14);
console.log(typeof 'Leyla');
console.log(typeof '42');
console.log(typeof true);
console.log(typeof undefined);
console.log(typeof null);
▸ Ожидаемый результат
number
number
string
string
boolean
undefined
object

JavaScript — язык с динамической типизацией: одна и та же переменная может сначала хранить число, а потом строку — тип принадлежит значению, а не переменной. undefined означает «ещё ничего не записано», а null — «здесь намеренно пусто».

JavaScript
let value = 42;
console.log(value, typeof value);
value = 'forty-two';
console.log(value, typeof value);

let winner;
console.log('Before the game:', winner);
winner = null;
console.log('Draw, no winner:', winner);
winner = 'Murad';
console.log('Winner:', winner);
▸ Ожидаемый результат
42 number
forty-two string
Before the game: undefined
Draw, no winner: null
Winner: Murad
Задание

Увеличь temperature на 5 градусов. Затем выведи две строки: город и новую температуру (Baku 23), а после — типы обеих переменных через typeof (string number).

Задание · JavaScript
let city = 'Baku';
let temperature = 18;
// 1) increase temperature by 5
// 2) print the city and the temperature
// 3) print the types of both variables
▸ Ожидаемый результат
Baku 23
string number

Главное

  • Переменная — это именованная коробка со значением; = присваивает ей значение.
  • const — для неизменных значений, let — для меняющихся; var устарел.
  • Имена не начинаются с цифры, не содержат пробелов и пишутся в camelCase.
  • Основные типы: number, string, boolean, undefined, null; тип показывает typeof.
  • JavaScript динамически типизирован: тип принадлежит значению, а не переменной.

Проверь себя

Вопросов: 10. Каждый правильный ответ приносит XP.

1 / 10
Какое ключевое слово выбрать для значения, которое никогда не изменится?