Keduanya mewakili "tiada nilai", tetapi dengan niat dan asal berbeza.
Keduanya mewakili "tiada nilai", tetapi dengan niat dan asal berbeza.
undefined: ketiadaan nilai, biasanya ditetapkan oleh enjin JavaScript — pembolehubah yang diisytiharkan tetapi tidak ditugaskan, properti objek yang hilang, parameter fungsi yang anda tidak lewatkan, atau fungsi tanpa return.null: nilai "kosong" yang disengajakan yang anda tugaskan untuk mengatakan "dengan sengaja tiada di sini".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
Gunakan null untuk menghapus nilai dengan disengajakan (cth. "tiada pengguna yang dipilih"), dan perlakukan undefined sebagai "belum ditetapkan". Pengendali ?? (nullish coalescing) dan ?. (optional chaining) mengendalikan kedua-duanya sekaligus, itulah sebabnya ia digunakan secara meluas.
Pustaka soalan temu duga IT dengan jawapan terperinci — daripada Junior hingga Senior.
Derma