Загрузка…
Загрузка…
undefined — «значение не присвоено» (часто автоматически).null — «значение отсутствует намеренно» (ставит код/API).null == undefined; // true
null === undefined; // false
typeof undefined; // "undefined"
typeof null; // "object"let a;
let b = null;
console.log(a); // undefined
console.log(b); // null// Часто удобный идиом: «нет значения»
if (value == null) {
// поймает и null, и undefined
}В TypeScript: string | null vs optional string | undefined — разные контракты API.
При сериализации:
JSON.stringify({ a: undefined, b: null });
// "{"b":null}" — undefined-поле исчезло== считает их равными, === — нет.typeof null — известная ловушка.null в данных, undefined — «параметр не передали»).Итог: оба означают «пусто», но undefined ближе к «система не заполнила», null — «мы явно сказали, что пусто».
