Her ikisi de "değer yok" anlamına gelir, ancak farklı amaç ve köken ile.
Her ikisi de "değer yok" anlamına gelir, ancak farklı amaç ve köken ile.
undefined: bir değerin yokluğu, genellikle JavaScript motoru tarafından belirlenir — bildirilmiş ancak atanmamış değişken, eksik object özelliği, iletmeyen function parametresi veya return olmayan function.null: siz tarafından "burada kasıtlı olarak hiçbir şey yok" demek için atanan kasıtlı "boş" bir değer.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
Bir değeri kasıtlı olarak temizlemek için null kullanın (örneğin "seçilen kullanıcı yok"), ve undefined "henüz ayarlanmadı" olarak ele alın. ?? (nullish coalescing) ve ?. (optional chaining) operatörleri her ikisini aynı anda işlerler, bu nedenle yaygın şekilde kullanılırlar.
Junior'dan Senior'a detaylı cevaplarla bir BT mülakat soruları kütüphanesi.
Bağış Yap