Вебсправочник
Справочник JavaScript

Типы JavaScript: строки, числа, null и undefined

Как понимать значение переменной и не смешивать отсутствие данных с пустой строкой или нулём.

Основная идея

В JavaScript значение имеет тип, а переменная может получать значения разных типов. Для интерфейсов особенно важны строки, числа, логические значения, null, undefined и объекты. Данные из текстового поля обычно приходят строкой, даже если пользователь ввёл цифры.

Undefined часто означает отсутствие присвоенного значения, а null используют как явное отсутствие. Ноль и пустая строка могут быть корректными данными. Поэтому проверка наличия должна соответствовать предметной задаче, а не просто отбрасывать всё ложноподобное.

Пример JavaScript

const raw = "12";
const amount = Number(raw);
console.log(typeof raw);
console.log(typeof amount);
console.log(Number.isFinite(amount));

Сначала выводится string, затем number, затем true. Number.isFinite помогает отличить обычное конечное число от NaN и бесконечности.

Частая ошибка

typeof null возвращает object по исторической причине. Для проверки null сравнивайте значение напрямую, а не делайте вывод только по typeof.

Самостоятельная проверка

Проверьте Number(«»), Number(«abc») и Number(«12.5»). Решите, какие значения ваша форма должна принимать, и добавьте явную проверку пустого ввода.

Код здесь показан для изучения. Встроенная песочница сайта выполняет только HTML/CSS. JavaScript проверяйте в собственном учебном файле или консоли своего тестового проекта; не вставляйте непонятный код на страницах с личными данными.

Следующие темы: сравнения, условия.

Самостоятельный учебный материал. Техническая документация: первоисточник по теме ↗. Если результат отличается, проверьте код и версию браузера.