Özet - Recursive types
- TypeScript kursu
- İleri seviye
- Ders 12/57
- 4 dk
Recursive türlerle bir JSON ağacı modeli yazarsın.
Özet - Recursive types
Bu grupta recursive type'ları öğrendin: kendine başvuran türler bağlı liste ve ağaç gibi iç içe yapıları modeller; DeepPartial ile iç içe nesneler derinlemesine opsiyonel yapılır. Bir JSON ağacı modeli, primitif türlerin union'ı ile dizi ve nesne biçimlerinde kendine başvurur.
type JsonDeger =
| string | number | boolean | null
| JsonDeger[]
| { [k: string]: JsonDeger };Uygulama JSON ağacı modeli yaz
JsonDeger adında bir recursive union type tanımla: string | number | boolean | null | JsonDeger[] | { [anahtar: string]: JsonDeger }. veri değişkeni JsonDeger türünde ve değeri { ad: "test", yas: 30 } olsun. veri["ad"] değerini console.log ile yazdır.
Başlangıç kodu
// JsonDeger adinda recursive union type tanimla
// primitif, dizi ve nesne turlerini birlestir
// veri nesnesini tanimla
// veri["ad"] yazdirÖrnek çözüm
type JsonDeger =
| string
| number
| boolean
| null
| JsonDeger[]
| { [anahtar: string]: JsonDeger };
const veri: JsonDeger = { ad: "test", yas: 30 };
console.log(veri["ad"]);Beklenen çıktı
test
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir JSON ağacı modelinde dizi elemanlarının türü ne olmalıdır?
- Yalnızca string
- JsonDeger (kendisi) Doğru cevap
- any[]
- Yalnızca number
Açıklama: JSON dizisinin elemanları yine herhangi bir JSON değeri olabilir; bu yüzden dizi türü JsonDeger[] olarak kendine başvurur.
2 JSON dizisi self-reference
type JsonDeger =
| string
| number
| boolean
| null
| ____[]
| { [anahtar: string]: JsonDeger };
type JsonDeger =
| string
| number
| boolean
| null
| JsonDeger[]
| { [anahtar: string]: JsonDeger };
Açıklama: JSON dizisinin elemanları yine JsonDeger türündedir; bu sayede dizi içinde dizi veya nesne bulunabilir.
3 Recursive types özeti
| Kavram | Anlamı |
|---|---|
JsonDeger[] |
Dizi elemanı kendisi |
{ [k: string]: JsonDeger } |
Nesne değerleri kendisi |
string | number |
Primitif seçenekler |
DerinPartial |
İç içe opsiyonel |