Типы данных. null и undefined
Всем привет! Хорош ковыряться в носу – продолжаем обучаться!
Продолжаем знакомится с типами данных. Сегодня на повестке, аж целых 2 типа - null
и undefined
.
Тип null
Это тип, который формируется только из одного единственного значения – null. Да-да, null
является и типом и значением одновременно. Используется он для того того, чтобы пометить что-либо как "ничего", "пустышка" и т.п.
Зачастую null используется при инициализации какой-либо переменной, которая изначально не имеет никакого значения.
Например:
let agreementAccepted = null;
Т.е, этим мы инициализировали переменную с начальным значением null. Это часто применяется и об этом ты узнаешь дальше, когда мы будем заниматься практикой. Если не указать значение переменной при ее инициализации, то значение переменной будет равно undefined
. И, теперь, об этом...
Тип undefined
Тип undefined
, так же как и null
является и типом и значением. Undefined
в дословном переводе означает "не определено". Если переводить с точки зрения ЯП, то undefined
нужно понимать как "значение не присвоено".
К примеру:
let agreementAccepted;
В данном случае, значение переменной agreementAccepted
будет равно undefined
. Логически может казаться, что null
и undefined
являются одним и тем же и разницы между ними нет. Но, не ведись на эту логику – она неверная.
В мире профессиональной разработки нужно четко понимать разницу между этими типами.
Запомни раз и навсегда! Использовать undefined
уместно только в тех местах кода, где ты хочешь проверить существует ли значение как таковое или была ли чем-то инициализирована переменная.
Если хочешь инициализировать переменную с пустым значением, то используй только null
. Никаких осознанных переменных с присвоенным в нее значением undefined
быть в коде не должно!
Мы хотим инициализировать переменную возраста с пустым значением:
let age; //не надо так let age = undefined; //не надо так let age = null; //только так!
Ну вот и все, ребятушки. На этом я завершаю блок статей по примитивным типам данным. Да, есть еще и не примитивные, типо Symbol
, object
, function
. Но об этом чуть позже. Да, и, вообще, мы еще не раз столкнемся с типами данных и намного подробнее.