İsteğe bağlı zincirleme
?. ile null ve undefined değerlere güvenle erişmeyi öğrenirsin.
İsteğeli zincirleme
?. işleci (isteğeli zincirleme, optional chaining) bir nesnenin özelliğine güvenli erişim sağlar. Erişilen değer null ya da undefined ise hata fırlatmak yerine undefined döndürür.
Örnek: const city = user?.address?.city;. Burada user ya da user.address yoksa city undefined olur; kod hata vermez. . yerine ?. yazman yeterlidir. Bu, iç içe nesnelerde özellik varlığını denetlemeden güvenli erişim kurar.
İsteğeli yöntem ve dizinleme
İsteğeli zincirleme yalnızca özelliklerle sınırlı değildir. İsteğeli yöntem çağrısı ?. ile yöntemleri de güvenli çağırır: obj?.greet?.(). Eğer obj ya da greet yoksa sonuç undefined olur; hata alınmaz.
Yine isteğeli dizinleme ?.[] ile dizilere güvenli erişir: arr?.[0]. Bu desenler API verilerinde derin özelliklere güvenle ulaşmak için çok kullanışlıdır; her adımı ayrıca denetlemek zorunda kalmazsın.
Uygulama İç içe ?. erişimi
user değişkenini { profile: { city: "İstanbul" } } yap. city değişkenini user?.profile?.city yap. city'yi yazdır.
Örnek çözümü göster
const user = { profile: { city: "İstanbul" } };
const city = user?.profile?.city;
console.log(city);
Uygulama İsteğeli yöntem çağrısı
obj değişkenini null yap. result değişkenini obj?.greet?.() yap. result'u yazdır.
Örnek çözümü göster
const obj = null;
const result = obj?.greet?.();
console.log(result);
Kendini test et
-
null?.name ifadesinin sonucu nedir?
null?.name- null
- ""
- "name"
- undefined
Cevabı göster
undefined — Doğru. null üzerinde ?. kullanınca undefined döner, hata alınmaz.
-
İç içe güvenli erişim
const user = { address: { city: "İstanbul" } }; const city = user?.address____city; console.log(city);Cevabı göster
const user = { address: { city: "İstanbul" } }; const city = user?.address?.city; console.log(city); -
İfade ile sonucunu eşleştir
- null?.city
- undefined
- ({a:1})?.a
- 1
- ({n:5})?.n
- 5
- ({s:'hi'})?.s
- 'hi'