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 (Nesne someVar[0])
  • IDataLookup tipinde İki Dizi (someVar[1] ve someVar[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*/

İlgili makaleler