以下在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));
这是预期的吗?是否有关于忽略哪种类型错误的文档?
答案 0 :(得分:1)
var f: <T> (arg:T) => T[];
f = a => a; // Why no error!
因为缺少类型注释a
属于any
类型。 any
与所有类型兼容(同时T
和T[]
)。