JavaScript, bir değerin olmadığını birden çok şekilde gösterir. Bu sayfa
en yaygın iki yöntemi açıklar: null ve undefined veri türleri.
null
null anahtar kelimesi, kasıtlı olarak tanımlanmış bir değer eksikliğini temsil ediyor. null.
ilkel bir değerdir, ancak typeof operatörü null işlevinin bir nesne olduğunu döndürür.
Bu hata
üzerinde düşünülmüştür ve bilinçli bir şekilde
.
typeof null
> object
Bir değişkeni null olarak tanımlayabilirsiniz
başka bir zamanda, kendisine atanan bir değeri yansıtması
nokta veya açık bir şekilde eksik olan bir değer içerebilir. Ayrıca, null
değerini silmek için mevcut bir referansa değer olarak ayarlayın.
undefined
undefined, değişkenlere atanan temel bir değerdir
veya bir işlemin bu işlemin sonucunda ortaya çıkan
anlamlı bir değer döndürmez. Örneğin, bu tür bir paylaşım için
tarayıcının geliştirici konsolunda bir işlev görecek:
function myFunction() {}
> undefined
Bir işlev, return ifadesi olduğunda açıkça undefined değerini döndürür
değer döndürmez.
(function() {
return;
}());
> undefined
null ile undefined karşılaştırması
undefined ve null işlevsel olarak örtüşse de
amaçlanıyor. En açık şekilde, null bir değeri temsil eder
kasıtlı olarak "boş" olarak tanımlanan ve undefined ise atanmış herhangi bir değerin eksik olduğunu temsil eder.
null ve undefined kısmen eşittir, ancak kesinlikle eşit değildir.
Gevşek eşitlik operatörü, farklı türlerdeki işlenenleri boole'ye uygular
değerleri, null ve undefined değerlerinin her ikisi de false olur. Katı eşitlik operatörü
farklı veri türlerindeki işlenenleri eşit olmayan olarak kabul eder.
null == undefined
> true
null === undefined
> false
Ayrılmış null anahtar kelimesinin aksine undefined
global nesne. Bu bir tasarımdı
erken bir aşamada karar verilmesini sağlar ve eski tarayıcıların
undefined öğesinin tamamen üzerine yaz. Modern tarayıcılarda,
Global olmayan kapsamlarda tanımlayıcı olarak undefined ve
kapsam dışı görülür. Hiçbir zaman undefined özelliğini tanımlayıcı olarak kullanmayın. Google
beklenmedik davranışlara neden olabilir ve
ürününüzün gelecekteki bakımını yapan kişilerin kafasını karıştırabilir.
kod tabanınız içindir.
Öğrendiklerinizi sınayın
typeof null sonucu ne döndürür?
objectundefinedprimitivestring