?? ile Nullish Birleştirme
Yalnızca null ve undefined için varsayılan değerler sağlayın.
?? ile Nullish Birleştirme, CoddyKit'te ücretsiz bir JavaScript Academy dersidir. Bu, 4 dersinin 2. 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.
Varsayılan Değerler
Bir değer eksik olduğunda sık sık bir yedek değer kullanmak istersiniz. Null birleştirme operatörü, yalnızca gerektiğinde varsayılan değer sağlamanın temiz bir yolunu sunar.
const name = undefined;
console.log(name ?? "Guest"); // "Guest"?? Operatörü
Çift soru işareti operatörü, yalnızca sol taraf null veya undefined olduğunda sağdaki değeri döndürür.
console.log(null ?? "fallback"); // "fallback"
console.log(undefined ?? "fallback"); // "fallback"
console.log("hi" ?? "fallback"); // "hi"Neden || Kullanılmamalı
Mantıksal OR ||, 0, "" ve false dâhil olmak üzere herhangi bir false kabul edilen değerde yedek değere geçer; bu, gerçek veriler için çoğu zaman yanlıştır.
console.log(0 || 10); // 10 (probably unwanted)
console.log(0 ?? 10); // 0 (keeps the real value)Boş Dize Durumu
|| kullanıldığında kasıtlı olarak verilen boş bir dize değiştirilir; ?? kullanıldığında ise "" null veya undefined olmadığı için korunur.
const note = "";
console.log(note || "none"); // "none"
console.log(note ?? "none"); // ""false Değeri Korunur
Gerçek bir false değeri ?? operatöründen geçerek korunur; ancak || tarafından geçersiz kılınırdı.
const enabled = false;
console.log(enabled ?? true); // false
console.log(enabled || true); // trueYapılandırmayı Güvenle Okuma
??, 0 veya boş değerin kullanıcının kasıtlı olarak seçebileceği geçerli seçenekler olduğu ayarlar için idealdir.
function getVolume(settings) {
return settings.volume ?? 50;
}
console.log(getVolume({ volume: 0 })); // 0Değişkenlerle Çalışır
Herhangi bir ifadeyle çalışır ve null veya undefined olmayan ilk işleneni döndürür.
let cached = null;
const value = cached ?? computeValue();
function computeValue() { return 99; }
console.log(value); // 99Kısa Devre Değerlendirmesi
|| ve && gibi ?? da kısa devre yapar: Sol taraf null veya undefined değilse sağ taraf hiçbir zaman değerlendirilmez.
function side() { console.log("called"); return 1; }
const x = "ready" ?? side(); // side() never runs
console.log(x);&& veya || ile Doğrudan Birleştirilemez
Belirsizliği önlemek için ?? operatörünün && veya || ile parantez kullanılmadan birleştirilmesi bir sözdizimi hatasıdır.
const a = true, b = null;
// const c = a || b ?? 1; // SyntaxError
const c = (a || b) ?? 1;
console.log(c);Varsayılan Fonksiyon Parametreleri ve ??
Varsayılan parametreler yalnızca bir bağımsız değişken undefined olduğunda uygulanır. ?? ise açıkça aktarılan null değerini de ele alır.
function greet(name = "Guest") { return "Hi " + name; }
console.log(greet(null)); // "Hi null"
function greet2(name) { return "Hi " + (name ?? "Guest"); }
console.log(greet2(null)); // "Hi Guest"Hangisini Ne Zaman Seçmeli
Korumanız gereken 0, "" veya false geçerli değerler olduğunda ?? kullanın. Yalnızca false kabul edilen herhangi bir değerde yedek değere geçilmesini istediğinizde || kullanın.
const retries = 0;
console.log(retries ?? 3); // 0 keptKısa Kontrol
Operatörleri karşılaştırın.
Özet
?? operatörü, yalnızca sol taraf null veya undefined olduğunda sağ tarafı döndürür; 0, "" ve false değerlerini korur. Bu nedenle gerçek veriler için varsayılan değerlerde || operatöründen daha güvenlidir. Kısa devre yapar ve parantez olmadan &&/|| ile birleştirilemez.
Sıkça Sorulan Sorular
“?? ile Nullish Birleştirme” dersi ücretsiz mi?
Evet — “?? ile Nullish 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.
“?? ile Nullish Birleştirme” dersinde ne öğreneceğim?
Yalnızca null ve undefined için varsayılan değerler sağlayın. 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 2. dersidir.
“?? ile Nullish 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
- ?. İşleciyle İsteğe Bağlı Zincirleme
- ?? ile Nullish Birleştirme
- ?. ve ?? İşleçlerini Birleştirme
- İsteğe Bağlı Çağrılar ve Dizin Erişimi