Recursive type nedir?
- TypeScript kursu
- İleri seviye
- Ders 9/57
- 4 dk
Kendini referans alan türleri öğrenirsin.
Recursive type nedir?
Bir recursive (özyinelemeli) type, tanımında kendine başvuran türdür. Bağlı liste, ağaç ve iç içe yapılar bu şekilde tanımlanır. Bir alan aynı türden bir değere işaret eder; bu sayede sınırsız derinlikte veri modellenebilir. Alan opsiyonel (?) yapılarak zincir sonlandırılabilir.
type BagliListe<T> = {
deger: T;
sonraki?: BagliListe<T>;
};Opsiyonel alanlarla sonlandırma
Recursive type'larda kendine başvuran alan opsiyonel (?) yapılır; böylece zincir bir noktada bitebilir. Örneğin sonraki?: BagliListe<T> ifadesinde sonraki yoksa liste sonlanmış demektir. Bu, sonsuz döngüye düşmeden sonlu veriyi modellemeyi sağlar.
Uygulama Bağlı liste nesnesi oluştur
BagliListe adında bir recursive generic type tanımla: <T> = { deger: T; sonraki?: BagliListe<T> }. liste değişkeni BagliListe<number> türünde ve değeri { deger: 1, sonraki: { deger: 2 } } olsun. liste.deger değerini console.log ile yazdır.
Başlangıç kodu
// BagliListe adinda recursive generic type tanimla
// deger ve opsiyonel sonraki alanlari olsun
// liste nesnesini number degerlerle tanimla
// liste.deger yazdirÖrnek çözüm
type BagliListe<T> = {
deger: T;
sonraki?: BagliListe<T>;
};
const liste: BagliListe<number> = { deger: 1, sonraki: { deger: 2 } };
console.log(liste.deger);Beklenen çıktı
1
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir recursive type'ın temel özelliği nedir?
- Yalnızca primitif türleri içerir
- Çalışma zamanında değişir
- Generic parametre alamaz
- Tanımında kendine başvurur Doğru cevap
Açıklama: Recursive type, tanımında kendi adına başvurur; böylece iç içe sonsuz derinlikte veri modellenebilir.
2 Kendine başvuru
type BagliListe<T> = {
deger: T;
sonraki?: ____<T>;
};
type BagliListe<T> = {
deger: T;
sonraki?: BagliListe<T>;
};
Açıklama: Recursive type kendine başvurur; sonraki alanı yine BagliListe<T> türünden olmalıdır.
3 Recursive type kavramları
| Kavram | Anlamı |
|---|---|
deger |
Düğüm değeri |
sonraki? |
Opsiyonel sonraki düğüm |
BagliListe<T> |
Kendine başvuran tür |
T |
Düğüm değerinin türü |