Типы данных
JavaScript — язык с динамической типизацией. Тип переменной определяется во время выполнения, и одна переменная может хранить значения разных типов в течение своей жизни.
Оператор typeof
Возвращает строку с названием типа. Работает как с круглыми скобками, так и без: typeof x или typeof(x).
Девять типов данных
| Тип | Пример | Описание |
|---|---|---|
string | 'привет' | Текст |
number | 42, 3.14 | Числа (целые и с плавающей точкой) |
bigint | 9007199254740991n | Очень большие целые числа |
boolean | true, false | Логические значения |
symbol | Symbol('id') | Уникальный идентификатор |
null | null | Намеренное отсутствие значения |
undefined | undefined | Значение ещё не присвоено |
object | { name: 'Alice' } | Коллекция пар ключ-значение |
function | function() {} | Вызываемый блок кода |
Примитивные vs. сложные типы
- Примитивные (string, number, boolean, null, undefined, bigint, symbol): неизменяемые
- Объекты и функции: сложные, изменяемые
Особые значения
typeof null // 'object' — историческая ошибка JS!
null == undefined // true
null === undefined // false
ℹ️ typeof null
typeof null возвращает 'object' — это давняя ошибка в JavaScript, которую не исправили из соображений обратной совместимости.