0Pricing
JavaScript Academy · Ders

?. ve ?? İşleçlerini Birleştirme

Güvenli erişimi mantıklı varsayılan değerlerle eşleştirin.

?. ve ?? İşleçlerini Birleştirme, CoddyKit'te ücretsiz bir JavaScript Academy dersidir. Bu, 4 dersinin 3. 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.

İki Aracı Birlikte Kullanma

İsteğe bağlı zincirleme ?., bulunmayabilecek değerleri güvenle okur; null birleştirme ?? ise bir varsayılan değer sağlar. Birlikte kullanıldıklarında derin verileri okur ve düzgün biçimde yedek değere geçerler.

const user = {};
console.log(user.profile?.name ?? "Anonymous");

Yaygın Kalıp

a?.b ?? fallback deyimi güvenli okuma yapar ve sonuç null veya undefined ise varsayılan değeri kullanır. Bu, uzun koruma zincirlerinin yerini alır.

const data = { settings: { theme: "dark" } };
const theme = data.settings?.theme ?? "light";
console.log(theme); // "dark"

Değer Eksik Olduğunda Yedek Değere Geçme

Herhangi bir bağlantı null veya undefined ise ?., undefined üretir; ardından ?? bunu varsayılan değerle değiştirir.

const data = {};
const theme = data.settings?.theme ?? "light";
console.log(theme); // "light"

Derin İç İçe Yapılar

Bu kalıp, sonunda tek bir yedek değer kullanırken derin iç içe yapılara da uygulanabilir.

const res = { data: { user: { city: "Berlin" } } };
const city = res.data?.user?.city ?? "Unknown";
console.log(city); // "Berlin"

Geçerli False Değerlerini Koruma

?? yalnızca null veya undefined durumlarında varsayılan değer kullandığı için zincirden gelen gerçek 0 değerleri korunur.

const cart = { items: [], count: 0 };
const count = cart?.count ?? 5;
console.log(count); // 0

&& / || Tuzağıyla Karşılaştırma

a && a.b || fallback yazmak, geçerli bir 0 veya "" değerini yanlışlıkla değiştirirdi. ?. + ?? birleşimi bunu önler.

const cfg = { volume: 0 };
console.log(cfg && cfg.volume || 50); // 50, wrong
console.log(cfg?.volume ?? 50);      // 0, correct

Fonksiyon Sonuçlarıyla

İsteğe bağlı bir çağrının sonucuna da varsayılan değer verebilir, her iki operatörü bir yöntem çağrısının çevresinde birleştirebilirsiniz.

const api = { fetchName: () => null };
const name = api.fetchName?.() ?? "default";
console.log(name); // "default"

Dizi Erişimine Varsayılan Değer Verme

Bu kalıp, diziler veya dinamik anahtarlar için köşeli parantez erişimiyle çalışır.

const state = { list: ["a"] };
const first = state.list?.[0] ?? "empty";
console.log(first); // "a"

Görüntüleme Dizeleri Oluşturma

Pratik bir kullanım alanı, belirsiz verilerden güvenli görüntüleme metni üretmektir.

function label(order) {
  return "Total: " + (order?.total ?? 0);
}
console.log(label(undefined)); // "Total: 0"

Öncelik Notu

?., ?? operatöründen daha güçlü bağlanır. Bu nedenle a?.b ?? c ifadesi, tam olarak istediğiniz gibi (a?.b) ?? c şeklinde okunur.

const u = { age: null };
console.log(u?.age ?? 18); // 18

Temiz Bir Deyim

Bu operatörler birlikte, uzun savunmacı kodların yerini tek bir okunabilir satırla alır ve amacı açıkça ortaya koyar.

const profile = null;
console.log(profile?.bio?.length ?? 0); // 0

Kısa Kontrol

Çıktıyı tahmin edin.

Özet

obj?.deep?.prop ?? fallback deyimi bulunmayabilecek iç içe değerleri okur ve yalnızca sonuç null veya undefined olduğunda bir varsayılan değer sağlar. &&/|| yaklaşımının aksine 0 ve "" gibi geçerli false kabul edilen değerleri korur. ?., ?? operatöründen daha güçlü bağlandığı için gruplama kendiliğinden doğru olur.

Sıkça Sorulan Sorular

“?. ve ?? İşleçlerini Birleştirme” dersi ücretsiz mi?

Evet — “?. ve ?? İşleçlerini Birleştirme” 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.

“?. ve ?? İşleçlerini Birleştirme” dersinde ne öğreneceğim?

Güvenli erişimi mantıklı varsayılan değerlerle eşleştirin. 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 3. dersidir.

“?. ve ?? İşleçlerini Birleştirme” 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