打字稿中泛型函数的限制是什么?

时间:2016-01-06 20:33:44

标签: typescript

以下在Typescript操场中干净地编译,但我希望它会失败:

var f: <T> (arg: T) => T[];
f = <T>(a: T): T => a;
var x: number[] = f(10);
alert('Is an array: ' + Array.isArray(x));

这是预期的吗?是否有关于忽略哪种类型错误的文档?

1 个答案:

答案 0 :(得分:1)

问题

var f: <T> (arg:T) => T[];
f = a => a; // Why no error!

答案

因为缺少类型注释a属于any类型。 any所有类型兼容(同时TT[])。