Разница между null и undefined | OTUS
⚡Подписка от OTUS!
Собери свой пул курсов на выгодных условиях. Подробности в чате →
Написать в чат

Курсы

Программирование
Разработчик программных роботов (RPA) на базе UiPath и PIX
-6%
Разработчик C#
-8%
Алгоритмы и структуры данных
-8%
Backend-разработчик на PHP
-8%
JavaScript Developer. Professional
-9%
Team Lead
-5%
Golang Developer. Professional
-6%
Agile Project Manager
-5%
Flutter Mobile Developer
-10%
MS SQL Server Developer
-8%
C++ Developer. Professional Android Developer. Professional Framework Laravel Cloud Solution Architecture Highload Architect Reverse-Engineering. Professional Kotlin Backend Developer React.js Developer VOIP инженер Нереляционные базы данных Scala-разработчик Супер-практикум по использованию и настройке GIT IoT-разработчик JavaScript Developer. Basic Advanced Fullstack JavaScript developer Unity Game Developer. Professional Супер-интенсив Azure
Инфраструктура
Супер-интенсив "Версионирование и командная работа с помощью Git"
-30%
Administrator Linux. Professional
-5%
Супер-интенсив «CI/CD или Непрерывная поставка с Docker и Kubernetes»
-30%
Разработчик программных роботов (RPA) на базе UiPath и PIX
-6%
Administrator Linux. Advanced
-8%
Infrastructure as a code in Ansible
-12%
Network engineer
-4%
MS SQL Server Developer
-8%
Cloud Solution Architecture Highload Architect Разработчик голосовых ассистентов и чат-ботов Мониторинг и логирование: Zabbix, Prometheus, ELK Супер-практикум по работе с протоколом BGP Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes Архитектор сетей Супер-интенсив «IaC Ansible»
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02

Разница между null и undefined

В языке программирования JavaScript undefined представляет значение еще не инициализированной переменной, в то время как null — намеренное отсутствие объекта. К примеру, у нас есть переменная number, которая определена, однако ей не назначено начальное значение:

Screenshot_1-1801-6ed1c5.png

Аналогичную ситуацию мы увидим, когда попытаемся получить доступ к несуществующему свойству объекта:

Screenshot_2-1801-22a80e.png

Либо же переменная должна ждать возвращения объекта функции, однако по какой-нибудь причине создание объекта невозможно. В данной ситуации null — это значимый индикатор недостающего объекта. Допустим, clone() представляет собой функцию, клонирующую простой объект JavaScript. При этом ожидается, что функция вернет нам объект:

Screenshot_3-1801-272c25.png

Однако clone() можно вызвать с пустым аргументом: 15 либо null. В таком случае функция создать клон не может, в результате чего возвращает null как индикатор отсутствующего объекта.

Как известно, в JS существуют проверки на null и undefined. Например, оператор typeof продемонстрирует нам различия между этими 2-мя значениями:

Screenshot_4-1801-d2998f.png

Кроме того, существует строгий оператор равенства === — он тоже отличает undefined от null:

Screenshot_5-1801-490ace.png

По материалам «7 tips to handle undefined in JavaScript».

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться