StudyCode
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