Begge representerer "ingen verdi," men med forskjellig hensikt og opprinnelse.
Begge representerer "ingen verdi," men med forskjellig hensikt og opprinnelse.
undefined: mangelen på en verdi, vanligvis satt av JavaScript-motoren — en deklarert-men-utildelt variabel, en manglende objektegenskap, en funksjonparameter du ikke sendte, eller en funksjon uten return.null: en intensjonell "tom" verdi som du tildeler for å si "bevisst ingenting her."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
Bruk null for å bevisst tømme en verdi (f.eks. "ingen valgt bruker"), og behandle undefined som "ikke satt ennå." Operatorene ?? (nullish coalescing) og ?. (optional chaining) håndterer begge samtidig, noe som er grunnen til at de er så mye brukt.
Et bibliotek av IT-intervjuspørsmål med detaljerte svar — fra Junior til Senior.
Doner