juniorbasics
В чём разница между null и undefined в JavaScript?
Ответ
undefined — переменная объявлена, но значение не присвоено (или функция ничего не вернула). null — явное отсутствие значения, программист намеренно задаёт «пустоту». typeof null === 'object' — исторический баг JS.
JSJavaScript
Примеры кода:
JSJavaScript
let x;
console.log(x); // undefined — не инициализирована
console.log(typeof x); // "undefined"
let y = null;
console.log(y); // null — явно пустое
console.log(typeof y); // "object" (баг JS!)
// Проверка
x == null; // true (== не различает)
x === null; // false (=== строгое сравнение)
x === undefined; // true