为什么我不能在TypeScript中从任何[]转换为MyType []?

时间:2015-06-12 19:07:09

标签: arrays casting typescript any

TypeScript具有any类型,任何类型都可以转换为TO OR FROM。我可以从any类型的变量转换为类型为MyArbitraryType的变量,如

var myThing: MyArbitraryType;
var anyThing: any;
...
myThing = anyThing;//implicit cast from 'any' to 'MyArbitraryType'
//or
myThing = <MyArbitraryType>anyThing;//explicit cast from 'any' to 'MyArbitraryType'

但是当我尝试从any[]投射到MyArbitraryType[]时,我遇到错误

var myThings: MyArbitraryType[];
var anyThings: any[];
...
myThings = anyThings;//implicit cast from 'any[]' to 'MyArbitraryType[]'
//or
myThings = <MyArbitraryType[]>anyThings;//explicit cast from 'any[]' to 'MyArbitraryType[]'

但是,如果我将any用作

中的中间人,我可以这样做
myThings = <MyArbitraryType[]><any>anyThings;

我可以按原样使用,但感觉有点草率。是否有any可以转换为任何类型的原因,但any[]不能转换为任何数组?到目前为止,这仅仅是TypeScript的疏忽吗?或者是否有一些我不知道的其他语法?

1 个答案:

答案 0 :(得分:0)

误报。它是Resharper,而不是实际的Typescript编译器,它产生了错误。