CodeBlanks Logo Icon CodeBlanks

İ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.

Başlangıç kodu

script.js
// user nesnesini bir profile ve city ile oluştur
// city değişkenini user?.profile?.city ile güvenle al
// city değişkenini yazdır

Örnek çözüm

script.js
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.

Başlangıç kodu

script.js
// obj değişkenini null yap
// result değişkenini obj?.greet?.() ile ata
// result'u yazdır

Örnek çözüm

script.js
const obj = null;
const result = obj?.greet?.();
console.log(result);

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 null?.name ifadesinin sonucu nedir?

script.js
null?.name
  • null
  • ""
  • undefined Doğru cevap
  • "name"

Açıklama: null üzerinde ?. kullanınca undefined döner, hata alınmaz.

2 İç içe güvenli erişim

Soru
const user = { address: { city: "İstanbul" } };
const city = user?.address____city;
console.log(city);
Cevap
const user = { address: { city: "İstanbul" } };
const city = user?.address?.city;
console.log(city);

Açıklama: address de güvenli erişim için ?. kullanılır.

3 İfade ile sonucunu eşleştir

Kavram Anlamı
null?.city undefined
({a:1})?.a 1
({n:5})?.n 5
({s:'hi'})?.s 'hi'

Başlangıç bölümündeki tüm dersler