Многие путают эти понятия, но в JS это разные типы данных.
1️⃣ Undefined (Неопределенность)
— Означает, что переменная объявлена, но ей не присвоено значение.
— JS возвращает его по умолчанию (например, если функция ничего не возвращает).
— Аналогия: Коробка, которую принесли, но еще не решили, что в нее положить.
2️⃣ Null (Пустота)
— Это значение, которое разработчик присваивает явно.
— Означает намеренное отсутствие объекта.
— Аналогия: Пустая коробка, из которой специально всё достали.
let a; // undefined
let b = null; // null
console.log(typeof undefined); // "undefined"
console.log(typeof null); // "object" (старая ошибка JS)
console.log(a == b); // true (по значению)
console.log(a === b); // false (по типу)
