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?
primitive
undefined
string
object