Yapı Bozmada Varsayılan Değerler
Varsayılan değerleri tür bildirimleriyle güvenli biçimde birleştirin.
Yapı Bozmada Varsayılan Değerler, CoddyKit'te ücretsiz bir TypeScript 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, TypeScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. TypeScript Academy kursu toplamda 4 dersten oluşur.
Boşlukları Doldurma
Yapıdan ayırma varsayılanları, bir özellik veya öğe eksik olduğunda ya da undefined olduğunda yedek değer sağlar. TypeScript'in tür çıkarımıyla birlikte kullanıldıklarında, isteğe bağlı yapılandırmayı kullanışlı ve güvenli hâle getirirler.
Nesne Yapıdan Ayırmada Varsayılan Değer
Bir bağlamaya yedek değer vermek için sonuna = value yazın. Özellik yoksa veya undefined ise bunun yerine varsayılan değer kullanılır.
const opts: { count?: number } = {}
const { count = 0 } = opts
console.log(count) // 0İsteğe Bağlı Özelliklerle Varsayılan Değerler
Varsayılan değerler, isteğe bağlı (?) özelliklerle doğal biçimde birlikte çalışır. Varsayılan değer, undefined durumunu ortadan kaldırır; böylece sonuçta elde edilen değişken isteğe bağlı olmayan türe sahip olur.
interface Opts { retries?: number }
function connect(opts: Opts) {
const { retries = 3 } = opts
// retries is number, not number | undefined
return retries * 2
}
console.log(connect({}))Varsayılan Değerler ve Çıkarılan Türler
Tür açıklaması eklemezseniz TypeScript, değişkenin türünü varsayılan değerden çıkarır. Burada 0, count değişkenini number yapar.
const settings: { count?: number; label?: string } = { label: "hi" }
const { count = 0, label = "none" } = settings
console.log(count, label) // 0 hiVarsayılan Değeri Yalnızca undefined Tetikler
İnce ama önemli bir nokta: varsayılan değerler yalnızca undefined için uygulanır; 0, "" veya null gibi diğer yanlışsal değerler için asla uygulanmaz. Bu değerler değiştirilmeden aktarılır.
const { x = 10 } = { x: 0 }
console.log(x) // 0, not 10 — 0 is not undefined
const { y = 10 } = { y: undefined as number | undefined }
console.log(y) // 10İşlev Parametrelerinde Varsayılan Değerler
Yapıdan ayrılmış parametre varsayılanları, isteğe bağlı seçenekleri zahmetsiz hâle getirir. Her alanın kendi yedek değeri doğrudan imzada tanımlanabilir.
function draw({ x = 0, y = 0 }: { x?: number; y?: number }) {
return x + "," + y
}
console.log(draw({ x: 5 })) // 5,0Parametrenin Tümünü Varsayılan Yapma
Çağıranların bağımsız değişken nesnesini tamamen atlayabilmesine izin vermek için parametrenin kendisine {} varsayılan değerini verin. Aksi hâlde bağımsız değişken olmadan çağırmak hataya neden olur.
function draw({ x = 0, y = 0 }: { x?: number; y?: number } = {}) {
return x + "," + y
}
console.log(draw()) // 0,0Yeniden Adlandırmayla Varsayılan Değerler
Tek bir bağlamada hem yeniden adlandırma hem de varsayılan değer kullanabilirsiniz: önce yeniden adlandırın, ardından yeni adın sonuna varsayılan değeri ekleyin.
const { count: total = 0 } = { } as { count?: number }
console.log(total) // 0Hesaplanan Varsayılan Değerler
Bir varsayılan değer, daha önceki bağlamalara başvuran bir ifade de dâhil olmak üzere herhangi bir ifade olabilir. Değer yalnızca gerçekten eksik olduğunda, ihtiyaç anında değerlendirilir.
function make({ width = 100, height = width }: { width?: number; height?: number } = {}) {
return width + "x" + height
}
console.log(make({ width: 50 })) // 50x50Dizi Varsayılanlarının Özeti
Varsayılan değerler dizi yapıdan ayırmada da çalışır; bir öğe eksik olduğunda veya undefined olduğunda konum başına uygulanır.
const [a = 1, b = 2, c = 3] = [10, undefined]
console.log(a, b, c) // 10 2 3Varsayılan Değerlerin Yararlı Olduğu Durumlar
Varsayılan değerler seçenek nesneleri için idealdir: çağıranlar yalnızca önemsedikleri değerleri belirtir, işlev de makul yedek değerleri doldurur. Ayrıca çıkarılan türlerden undefined değerini kaldırarak gövdeyi basitleştirirler.
interface Config { debug?: boolean; level?: number }
const init = ({ debug = false, level = 1 }: Config = {}) => debug ? level : 0
console.log(init({ debug: true, level: 5 }))Kısa Kontrol
Yapıdan ayırma varsayılanları konusundaki anlayışınızı sınayın.
Özet
Yapıdan ayırma varsayılanları (= fallback), yalnızca bir değer eksik olduğunda veya undefined olduğunda uygulanır; diğer yanlışsal değerler için asla uygulanmaz. İsteğe bağlı özellik türlerinden undefined değerini kaldırır, çıkarılabilir veya tür açıklamasıyla belirtilebilir, yeniden adlandırmayı destekler ve daha önceki bağlamalara başvurabilirler. Seçenek nesnelerinde parametreyi {} olarak varsayılan yapın; böylece çağıranlar nesneyi tamamen atlayabilir.
Sıkça Sorulan Sorular
“Yapı Bozmada Varsayılan Değerler” dersi ücretsiz mi?
Evet — “Yapı Bozmada Varsayılan Değerler” 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 TypeScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. TypeScript Academy kursu toplamda 4 dersten oluşur.
“Yapı Bozmada Varsayılan Değerler” dersinde ne öğreneceğim?
Varsayılan değerleri tür bildirimleriyle güvenli biçimde birleştirin. TypeScript 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.
TypeScript Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te TypeScript 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.
“Yapı Bozmada Varsayılan Değerler” 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 TypeScript Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her TypeScript 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
- Nesne Yapı Bozma Türleri
- Dizi ve Demet Yapı Bozma
- Yapı Bozmada Varsayılan Değerler
- İç İçe Yapı Bozma Kalıpları