2015-06-05 9 views
5

I'v typescript kullanmaya başlamak ve (Interfaces#array-types alınan) aşağıdaki deyimi girdi:TypeScript'te "her iki dizin türünü" (sayısal ve dize) desteklemek için kullanım durumu nedir?

sayısal dizin dönen tip bir olması gerektiğini kısıtlama, dizinin her iki türlerini desteklemek mümkündür dize dizininden döndürülen türün alt türü. Ben sayısal ve dize dizin türlerini ancak hiçbiri ikisine birden sahip birkaç yollar geliyor

yukarıdaki alıntı ile mantıklı, bazı kod örnekler var sevineceğini onlar ne anlama geldiğini gösteriyor.

cevap

2

Bazı kod örneklerinin ne anlama geldiklerini gösterdiğine sevindim.

izin verilir:

interface A{ 
} 
interface B{ 
    foo: number; 
} 

interface Something { 
    [index: string]: A; 
    [index: number]: B;  
} 

Ama bu değildir:

interface A{ 
    foo: number; 
} 
interface B{  
} 

interface Something { 
    [index: string]: A; 
    [index: number]: B;  
} 

alıntı için: "sayısal dizin dönen tip dönen türde bir alt türü olmalıdır string index "Yani bizim örneğimizde BA'un alt tipi olmalıdır.

+0

Şimdi anlıyorum, teşekkürler. –

İlgili konular