Урок 5: Типы данных в JavaScript’e

Сегодня мы разберем одну из самых важных тем в программировании, это типы данных в 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