Varsayılan değerler
Destructuring'de eksik özellikler için varsayılan değer vermeyi öğrenirsin.
Varsayılan değerler
Bazen bir özellik yoktur ve değişkenin undefined olmamasını istersin. Destructuring'de eşittirden sonra bir varsayılan değer yazarsın: const { theme = "light" } = settings.
Eğer settings.theme özelliği varsa değer onu alır. Yoksa veya undefined ise değişken "light" olur. Bu, fonksiyon parametrelerindeki varsayılan değer mantığıyla aynıdır.
undefined ile null farkı
Varsayılan değer yalnızca undefined için devreye girer. Özellik null ise varsayılan kullanılmaz; değişken null kalır. Bu ayrım önemli: null bilinçli bir "boş değer", undefined ise "değer yok" demektir.
Yani const { count = 5 } = { count: null } sonucu null'dır, 5 değil. Bunu test ederken unutma.
Uygulama Ayarları güvenli çıkar
settings adında bir nesne oluştur; retries özelliği olsun ama theme özelliği olmasın. Destructuring ile theme'i çıkar; yoksa varsayılan "light" olsun. Ayrıca retries'i de çıkar; yoksa varsayılan 3 olsun. Sonra her ikisini console.log ile ayrı ayrı yazdır.
Örnek çözümü göster
const settings = { retries: 5 };
const { theme = "light", retries = 3 } = settings;
console.log(theme);
console.log(retries);
Kendini test et
-
`const { x = 5 } = { x: undefined }` sonucunda `x` nedir?
- undefined
- 5
- null
- hata fırlatır
Cevabı göster
5 — Doğru. `undefined` değeri varsayılanı tetikler, bu yüzden `x` 5 olur.
-
Varsayılan değeri tamamla
const config = { }; const { timeout = ____ } = config; console.log(timeout);Cevabı göster
const config = { }; const { timeout = 3000 } = config; console.log(timeout); -
Hangisi `theme` özelliğine varsayılan `"dark"` atar?
- `const { theme } = settings || "dark"`
- `const { theme: "dark" } = settings`
- `const [ theme = "dark" ] = settings`
- `const { theme = "dark" } = settings`
Cevabı göster
`const { theme = "dark" } = settings` — Doğru. Eşittir ile varsayılan değer nesne deseninde verilir.
-
Kavramları eşleştir
- varsayılan değer
- Yalnızca undefined için devreye girer
- null
- Varsayılanı tetiklemez
- eşittir işareti
- Varsayılanı atar