Типы данных в JavaScript
В JavaScript переменные могут хранить данные разных типов. Всего в языке 8 основных типов данных.
1. Числа (number)
Целые числа и числа с плавающей точкой (десятичные дроби).
let age = 25; // целое число
let price = 99.99; // дробное число
✅ Переменная хранит целое число 25
2. Строки (string)
Текст, заключённый в кавычки. Можно использовать одинарные, двойные или обратные кавычки — все три способа работают.
let name = 'Иван'; // одинарные
let city = "Москва"; // двойные
let text = `Привет, ${name}!`; // обратные (позволяют вставлять переменные)
Особенность обратных кавычек: Внутрь можно вставлять переменные через ${}. Это удобно для создания строк с данными.
✅ Обратные кавычки позволяют вставить переменную name внутрь строки
- Одинарные или двойные кавычки — для обычного текста (без разницы)
- Обратные кавычки — когда нужно вставить переменную или написать текст в несколько строк
3. Булевый тип (boolean)
Только два значения: true (истина) или false (ложь). Используется в условиях.
let isLogged = true;
let isAdmin = false;
✅ Переменная хранит значение true
4. null — «ничего», пустое значение
Используется, когда нужно явно указать, что значения нет. Это вы сами говорите программе: «здесь ничего нет».
let user = null; // пользователь не выбран
5. undefined — значение не определено
Переменная объявлена, но ей не присвоили значение. Это JavaScript сам говорит: «ты объявил переменную, но ничего в неё не положил».
let temp; // значение undefined (ничего не присвоили)
undefined— значение не присвоено (JS сам так сказал)null— вы сами сказали, что значения нет
6. Symbol — уникальный идентификатор
Создаёт уникальное значение, которое никогда не совпадёт с другим. Используется редко, в основном для служебных нужд (например, чтобы добавить скрытое свойство в объект).
Важно: В скобках пишется описание (метка) — оно не влияет на уникальность, просто для удобства разработчика.
let id1 = Symbol('id');
let id2 = Symbol('id');
console.log(id1 === id2); // false — они разные, даже если описание одинаковое
✅ Даже с одинаковым описанием, два Symbol никогда не равны друг другу
7. BigInt — большие целые числа
Для чисел, которые больше 2^53 - 1. Объявляются добавлением n в конце.
let big = 9007199254740991n;
8. Оператор typeof — узнать тип переменной
Оператор typeof возвращает строку с типом данных.
typeof 42; // "number"
typeof 'привет'; // "string"
typeof true; // "boolean"
typeof undefined; // "undefined"
typeof null; // "object" ← это историческая ошибка языка
Проблема с null: typeof null возвращает "object", хотя null — это отдельный тип.
Как отличить null от объекта? Используйте прямое сравнение === null.
let data = null;
if (data === null) {
console.log('Это null');
} else if (typeof data === 'object') {
console.log('Это объект');
}
✅ Первая кнопка показывает баг. Вторая — правильную проверку на null. Третья и четвёртая — типы чисел и строк.
typeof null === "object"— это баг, смиритесь- Проверяйте на null через
value === null - Для проверки на объект сначала исключите null:
value !== null && typeof value === "object"