我在TypeScript函数中偶然发现了这行代码。我假设它正在将someVar
投射到某个东西中,但我不知道它是什么。
<[AdditionalInformation, IDataLookup[], IDataLookup[]]>someVar
我无法在TypeScript文档中找到任何答案。有谁知道这是做什么的?
答案 0 :(得分:4)
此语法用于转换变量。
在您的情况下,一个具有三个值的数组:
AdditionalInformation
(对象someVar[0]
)IDataLookup
(someVar[1]
和someVar[2]
)TypeScript中Type Assertions的另一个例子:
<[string, number, null]>myVar = ["Hello World", 3, null];
您可以查看类型断言in the TypeScript documentation
答案 1 :(得分:1)
这是一种类型转换/断言,请参阅4.16 Type Assertions。
在上面的代码中,您已将someVar
强制转换为包含3个元素的数组,其中第1个元素的类型为AdditionalInformation
,第2个和第3个元素的类型均为IDataLookup[]
。< / p>
示例代码:
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*/
答案 2 :(得分:0)
它是数组的强制转换和定义与单独类型索引的组合。
演员1:
var myVar:T = <T>someVar;
Cast 2(简化类型):
var myVar:[number, boolean, string] = <[number, boolean, string]>someVar;
这将创建一个带有数组类型的var,其中index 0只能包含一个数字,索引1是bool,索引2是一个字符串。