Сегодня мы разберем одну из самых важных тем в программировании, это типы данных в JavaScript.
В этом уроке мы поговорим о:
- Примитивных типах данных: строках, числах, булевых значениях,
null
иundefined
. - Разнице между типами данных и типами значений.
- Практических примерах и задачах для закрепления материала.
Что такое типы данных в JavaScript’е?
Представьте, что вы строите дом. Каждый материал (кирпич, дерево, стекло) имеет свои свойства и используется для конкретных задач. Типы данных в программировании работают аналогично. Они определяют, какие операции можно выполнять с информацией и как компьютер будет её обрабатывать.
Например:
- Числа можно складывать, умножать, делить.
- Строки можно объединять или вырезать из них части.
- Логические значения (
true
/false
) помогают управлять потоком программы через условия.
JavaScript это язык с динамической типизацией. Это значит, что тип переменной определяется автоматически в момент присваивания значения. Но это не отменяет необходимости понимать, какие типы существуют и как они работают.
Примитивные типы данных
В JavaScript есть 7 примитивных типов данных. Сегодня разберем 5 основных:
1. Строки (String)
Строка это последовательность символов, которая используется для работы с текстом. Создать строку можно тремя способами:
- В одинарных кавычках:
'Привет'
. - В двойных кавычках:
"Мир"
. - В обратных кавычках (шаблонные строки):
`Hello, ${name}!`
.
Примеры:
let message1 = 'Это строка'; let message2 = "Это тоже строка"; let name = "Максим"; let greeting = `Привет, ${name}!`; // Результат: "Привет, Максим!"
Особенности строк:
- Можно использовать экранирование символов через
\
:let text = "Он сказал: \"Привет!\"";
- Шаблонные строки (обратные кавычки) позволяют вставлять переменные через
${}
.
Практика:
Создайте переменную city
со значением «Пермь» и выведите сообщение: «Я живу в городе [название города]». Используйте шаблонные строки.
Решение:
let city = "Пермь"; console.log(`Я живу в городе ${city}.`);
2. Числа (Number)
Числовой тип в JavaScript представляет как целые числа, так и числа с плавающей точкой.
Примеры:
let age = 25; // Целое число let price = 99.99; // Дробное число let billion = 1e9; // Экспоненциальная запись (1 миллиард)
Особенности чисел:
- Поддерживаются стандартные арифметические операции:
+
,-
,*
,/
,%
. - Существуют специальные числовые значения:
Infinity
(бесконечность).-Infinity
(минус бесконечность).NaN
(Not a Number — результат некорректных математических операций).
Примеры:
console.log(1 / 0); // Infinity console.log("текст" / 2); // NaN
Практика:
Вычислите площадь круга с радиусом 5 см (формула: π * r²). Значение π возьмите как 3.14
.
Решение:
let radius = 5; let area = 3.14 * radius ** 2; console.log(area); // 78.5
3. Булевы значения (Boolean)
Булев тип имеет всего два значения: true
(истина) и false
(ложь). Они используются в условиях и логических операциях.
Примеры:
let isRaining = true; let isSunny = false;
Логические операции:
&&
(И): возвращаетtrue
, если оба операнда истинны.||
(ИЛИ): возвращаетtrue
, если хотя бы один операнд истинен.!
(НЕ): инвертирует значение.
Пример:
console.log(true && false); // false console.log(true || false); // true console.log(!true); // false
Практика:
Создайте переменные hasAccount = true
и isLoggedIn = false
. Проверьте, может ли пользователь войти в систему (условие: аккаунт существует И пользователь авторизован).
Решение:
let hasAccount = true; let isLoggedIn = false; console.log(hasAccount && isLoggedIn); // false
4. Null
null
это специальное значение, которое означает «ничего», «пусто» или «значение неизвестно». Оно присваивается явно.
Пример:
let user = null; // Пользователь пока не определен
Важно:
typeof null
возвращает"object"
— это историческая ошибка в JavaScript.
5. Undefined
undefined
означает, что переменная объявлена, но значение ей не присвоено.
Пример:
let name; console.log(name); // undefined
Отличие null
от undefined
:
null
— явное указание на отсутствие значения.undefined
— значение по умолчанию для неинициализированных переменных.
Типы данных или типы значений
В JavaScript переменная не привязана жестко к типу. Тип определяется значением, которое она хранит. Это называется «динамической типизацией».
Пример:
let value = "Привет"; // Тип: string value = 123; // Теперь тип: number
Оператор typeof
:
Позволяет узнать тип значения переменной.
console.log(typeof "Текст"); // "string" console.log(typeof 42); // "number" console.log(typeof true); // "boolean" console.log(typeof null); // "object" (ошибка в языке) console.log(typeof undefined); // "undefined"
Практика:
Создайте переменные:
a = 10
b = "10"
c = true
Выведите их типы.
Решение:
let a = 10; let b = "10"; let c = true; console.log(typeof a); // "number" console.log(typeof b); // "string" console.log(typeof c); // "boolean"
Практические задачи
Задача 1: Преобразование типов
Преобразуйте строку «123» в число и сложите с числом 456.
Решение:
let str = "123"; let num = Number(str); console.log(num + 456); // 579
Задача 2: Проверка на четность
Напишите код, который проверяет, является ли число четным.
Решение:
let number = 10; console.log(number % 2 === 0); // true
Задача 3: Работа с undefined и null
Создайте переменную x
без значения. Проверьте её тип. Затем присвойте x = null
и проверьте тип снова.
Решение:
let x; console.log(typeof x); // "undefined" x = null; console.log(typeof x); // "object"
Задача 4: Логические операции
Создайте переменные:
isAdmin = true
isBanned = false
Проверьте, может ли пользователь получить доступ: он должен быть администратором И не забанен.
Решение:
let isAdmin = true; let isBanned = false; console.log(isAdmin && !isBanned); // true
Заключение
Сегодня мы разобрали примитивные типы данных в JavaScript и научились определять их через typeof
. Понимание типов это ключ к написанию стабильного и предсказуемого кода.
Не забывайте:
- Всегда проверяйте типы переменных, если не уверены в их содержимом.
- Используйте
===
для строгого сравнения (оно проверяет и значение, и тип).
Практикуйтесь как можно больше! Попробуйте решить задачи из урока и придумать свои примеры.
Полный курс «JavaScript для начинающих» доступен здесь:
https://max-gabov.ru/javascript-dlya-nachinaushih