Kısa devre değerlendirme
&& ve || operatörlerinin değeri nasıl kısa devre ettiğini ve buna dayalı desenleri öğrenirsin.
Kısa devre değerlendirme
JavaScript'te && (ve) ve || (veya) işleçleri yalnızca true/false döndürmez; sağdaki ya da soldaki değeri döndürür. Bu davranışa kısa devre değerlendirme denir.
&& sol taraf yanlışsa (falsy) solu, değilse sağı döndürür: 0 && "x" sonucu 0'dır. || sol taraf doğruysa (truthy) solu, değilse sağı döndürür: "a" || "b" sonucu "a"'dır. Böylece || ile varsayılan değer, && ile koşullu erişim kurabilirsin.
Varsayılan ve guard desenleri
Kısa devre özellikle iki yaygın desende kullanılır. Birincisi varsayılan değer: const name = input || "Misafir";. Burada input boşsa name otomatik olarak "Misafir" olur.
İkincisi guard (koruma): user && user.name. user null ya da undefined ise && sol tarafı döndürür ve user.name hiç erişilmez; böylece hata alınmaz. user varsa sağ taraf çalışır ve isim döner.
Uygulama Varsayılan değer deseni
userName değişkenini boş dize "" yap. displayName değişkenini userName || "Misafir" yap. displayName'i yazdır.
Örnek çözümü göster
const userName = "";
const displayName = userName || "Misafir";
console.log(displayName);
Uygulama Guard deseni
user değişkenini { name: "Ayşe" } nesnesi yap. name değişkenini user && user.name yap. name'i yazdır.
Örnek çözümü göster
const user = { name: "Ayşe" };
const name = user && user.name;
console.log(name);
Kendini test et
-
"" || "Misafir" ifadesinin sonucu nedir?
"" || "Misafir"- ""
- "Misafir"
- true
- false
Cevabı göster
"Misafir" — Doğru. Sol taraf boş dize (falsy) olduğundan || sağı döndürür.
-
Varsayılan değer ver
const userName = ""; const displayName = userName ____ "Misafir"; console.log(displayName);Cevabı göster
const userName = ""; const displayName = userName || "Misafir"; console.log(displayName); -
İfade ile sonucunu eşleştir
- 0 || "x"
- "x"
- "a" && "b"
- "b"
- null || 5
- 5
- 0 && "y"
- 0