0Pricing
JavaScript Academy · Ders

?. İşleciyle İsteğe Bağlı Zincirleme

Derin iç içe özelliklere güvenli şekilde erişin.

?. İşleciyle İsteğe Bağlı Zincirleme, CoddyKit'te ücretsiz bir JavaScript Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, JavaScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. JavaScript Academy kursu toplamda 4 dersten oluşur.

Sorun

undefined veya null olan bir şeyin özelliğini okumaya çalışmak TypeError oluşturur. İsteğe bağlı zincirleme, iç içe değerleri güvenli biçimde okumanızı sağlar.

const user = {};
console.log(user.profile && user.profile.name);

?. Operatörü

İsteğe bağlı zincirleme operatörü ?., solundaki değer null veya undefined ise hata oluşturmak yerine durur ve undefined döndürür.

const user = {};
console.log(user.profile?.name); // undefined, no error

Derin Özellikleri Okuma

Her düzeyde elle koruma denetimleri yapmadan derin yapılara ilerlemek için birkaç ?. adımını zincirleyebilirsiniz.

const data = { user: { address: { city: "Paris" } } };
console.log(data.user?.address?.city); // "Paris"

Kısa Devreye Girme

Zincirdeki herhangi bir bağlantı nullish ise ifadenin tamamı undefined değerine kısa devre yapar ve zincirin geri kalanı değerlendirilmez.

const data = { user: null };
console.log(data.user?.address?.city); // undefined

Yalnızca Nullish Değerler Tetikler

?. yalnızca null veya undefined durumlarında kısa devre yapar. 0 veya "" gibi diğer yanlışsal değerler gerçek değerlerdir ve normal şekilde okunur.

const obj = { count: 0 };
console.log(obj.count?.toString()); // "0"

&& ile Karşılaştırma

?. kullanılmadan önce insanlar koruma amacıyla && zincirleri kurardı. İsteğe bağlı zincirleme, aynı amacı daha kısa ve anlaşılır biçimde ifade eder.

const u = { profile: { name: "Ada" } };
const a = u && u.profile && u.profile.name;
const b = u?.profile?.name;
console.log(a, b);

Çağrı Sonrasında Zincirleme

Bir yöntem çağrısından sonra zincirlemeye devam ederek döndürülen değerin özelliklerine güvenli biçimde erişebilirsiniz.

const config = { get: () => ({ port: 8080 }) };
console.log(config.get()?.port); // 8080

Zincirin Ortasında Kısa Devreye Girme

Ortadaki bir bağlantı nullish ise değerlendirme hemen durur; sonraki bağlantılar normalde işlev çağıracak olsa bile.

const obj = { a: null };
console.log(obj.a?.b.c.d); // undefined, never touches b/c/d

Atama İçin Kullanılamaz

İsteğe bağlı zincirleme okuma içindir. İsteğe bağlı bir zincire atama yapamazsınız; = işaretinin sol tarafında kullanılması söz dizimi hatasıdır.

const o = { x: 1 };
// o?.x = 5; // SyntaxError
o.x = 5;
console.log(o.x);

Dizilerle Birleştirme

Köşeli parantez erişimiyle de çalışır; bu konu ileride daha ayrıntılı ele alınacaktır. Aynı nullish güvenliği burada da geçerlidir.

const state = { items: ["a", "b"] };
console.log(state.items?.[0]); // "a"

Aşırı Kullanmaktan Kaçınma

?. yalnızca bir değerin meşru olarak eksik olabileceği yerlerde kullanın. Gereğinden fazla kullanmak, aslında görmeniz gereken hataları susturarak hataları gizleyebilir.

const order = { total: 42 };
console.log(order.total?.toFixed(2)); // "42.00"

Hızlı Kontrol

Sonucu tahmin edin.

Özet

?. operatörü özellikleri güvenli biçimde okur: sol taraf null veya undefined ise hata oluşturmak yerine undefined döndürür ve zincirin geri kalanını kısa devreye sokar. Yalnızca nullish değerler onu tetikler; 0 veya "" tetiklemez. Ayrıca atama hedefi olarak kullanılamaz.

Sıkça Sorulan Sorular

“?. İşleciyle İsteğe Bağlı Zincirleme” dersi ücretsiz mi?

Evet — “?. İşleciyle İsteğe Bağlı Zincirleme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve JavaScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. JavaScript Academy kursu toplamda 4 dersten oluşur.

“?. İşleciyle İsteğe Bağlı Zincirleme” dersinde ne öğreneceğim?

Derin iç içe özelliklere güvenli şekilde erişin. JavaScript Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

JavaScript Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te JavaScript Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“?. İşleciyle İsteğe Bağlı Zincirleme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu JavaScript Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her JavaScript Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. ?. İşleciyle İsteğe Bağlı Zincirleme
  2. ?? ile Nullish Birleştirme
  3. ?. ve ?? İşleçlerini Birleştirme
  4. İsteğe Bağlı Çağrılar ve Dizin Erişimi
← JavaScript Academy Sayfasına Dön