'undefined' ve 'null' Ne Demek?
Örnek:
let a;
console.log(a); // undefined
Burada, 'a' değişkeni tanımlandı ama herhangi bir değer atamadık. Bu nedenle undefined çıktısını alıyoruz.
Diğer taraftan, 'null' bir değer ataması yapılmış ancak bilinçli olarak "değer yok" demek için kullanılan bir özel değeridir. Yani, null, genellikle bir değişkenin mevcut olmadığı, boş olduğu ya da henüz bir değerle ilişkilendirilmediği anlamına gelir.
Örnek:
let b = null;
console.log(b); // null
Burada, 'b' değişkenine açıkça null atanmış ve bu, bir tür "boş" değer olduğunu belirtir.
'undefined' ve 'null' Arasındaki Temel Farklar
- 'null' ise bir değişkene *bilinçli* olarak boş bir değer atandığını belirtir. Bu, bir değişkenin sıfır ya da geçerli bir değer alması bekleniyor fakat bu değerin yerine "boş" bir değer atanmış demektir.
'undefined' ve 'null' Kullanım Hataları
# 1. Kontrol Yaparken Yanlış Kullanım
Eğer undefined ve null arasında bir ayrım yapmadan her ikisini de "boş" olarak kontrol ederseniz, beklenmeyen sonuçlarla karşılaşabilirsiniz.
let a;
let b = null;
if(a == null) {
console.log("a, null veya undefined");
}
if(b == null) {
console.log("b, null veya undefined");
}
Burada, a değişkeni undefined olduğu için, ikinci if bloğunda da a == null doğru kabul edilir. Ancak, null olan b değişkeni doğru şekilde tanımlanır.
# 2. Yanlış Veri Türü Karşılaştırmaları
Bir değişkenin undefined mi yoksa null mı olduğunu anlamaya çalışırken yanlış veri türleriyle karşılaştırma yapabilirsiniz. Bu da kodun beklenmedik şekilde çalışmasına yol açabilir.
let a;
let b = null;
console.log(a === b); // false
console.log(a == b); // true
Bu durumda a === b kontrolü false dönecektir çünkü undefined ve null farklı veri türleridir. Ancak, a == b ifadesi true döner çünkü == operatörü tür dönüşümü yapar.
Kodunuzu Temizlemek İçin 'undefined' ve 'null' Farklarını Anlayın
Performansı artırmak için, gereksiz undefined ve null değerlerinden kaçınarak gereksiz kontrol yapmalarını ortadan kaldırabilirsiniz. İyi bir yazılım tasarımı, bu tür hataların önlenmesine yardımcı olacaktır.