Obie reprezentują "brak wartości", ale z różnymi intencją i pochodzeniem.
Obie reprezentują "brak wartości", ale z różnymi intencją i pochodzeniem.
undefined: brak wartości, zwykle ustawiany przez silnik JavaScript — zadeklarowana-ale-nieprzypisana zmienna, brakująca właściwość obiektu, parametr funkcji, który nie zostały przesłany, lub funkcja bez return.null: zamierzona "pusta" wartość, którą ty przypisujesz, aby powiedzieć "celowo nic tutaj".let a; // undefined — declared, not assigned
const obj = {};
obj.missing; // undefined — property doesn't exist
function f() {}
f(); // undefined — no return
const b = null; // null — you chose to empty it
null == undefined; // true — loose equality treats them as equal
null === undefined; // false — different types
typeof undefined; // "undefined"
typeof null; // "object" (historical bug)
const value = input ?? "default"; // defaults on EITHER null or undefined
user?.address?.city; // optional chaining — undefined if any link is null/undefined
Użyj null do celowego wyczyszczenia wartości (np. "brak wybranego użytkownika"), i traktuj undefined jako "jeszcze nie ustawione". Operatory ?? (nullish coalescing) i ?. (optional chaining) obsługują oba jednocześnie, dlatego są tak szeroko używane.
Biblioteka pytań rekrutacyjnych IT ze szczegółowymi odpowiedziami — od Juniora do Seniora.
Wesprzyj