TypeScript'te bu <[T1, T2, T2]> sözdizimi ne yapar?
Bu kod satırına bir TypeScript fonksiyonunda rastladım. Bunun someVar'ı bir şeye dönüştürdüğünü varsayıyorum, ama ne olduğunu bilmiyorum.
<[AdditionalInformation, IDataLookup[], IDataLookup[]]>someVar
TypeScript dokümantasyonunda herhangi bir cevap bulamadım. Bunu yapanın ne olduğunu bilen var mı?
Cevap #1
Bu sözdizimi değişkeninizi dönüştürmek için kullanılır.
Sizin durumunuzda, üç değere sahip bir dizi :
- Bir
AdditionalInformation(NesnesomeVar[0]) IDataLookuptipinde İki Dizi (someVar[1]vesomeVar[2])
TypeScript'te Tür Teyitlerine başka bir örnek :
<[string, number, null]>myVar = ["Hello World", 3, null];
TypeScript dokümantasyonunda Tip İddialarını kontrol edebilirsiniz
Cevap #2
Bu bir tür dönüşümü/doğrulamasıdır, bkz. 4.16 Tür Doğrulamaları.
Yukarıdaki kodda someVar'ı 3 elemanlı bir diziye dönüştürdünüz; burada 1. eleman AdditionalInformation türünde, 2. ve 3. elemanlar ise her ikisi de IDataLookup[] türündedir.
Örnek kod:
var tmp = <[AdditionalInformation, IDataLookup[], IDataLookup[]]>someVar;
tmp[0]./*methods and properties of type AdditionalInformation are accessible here*/
tmp[1]./*array of IDataLookup is accessible here*/
tmp[2]./*array of IDataLookup is accessible here*/
