0
例如,类型推断完美地工作在下面的代码段:当泛型类型存在时,为什么类型推断会崩溃?
export type trim = (value: string) => string;
export const trim: trim = value => value.trim();
编译器正确地识别在作为预期的匿名函数类型“字符串”变量“值”。不过,我注意到,当一个泛型类型被引入作为在下面的代码片段同样是不正确的:
export type identity = <T>(value: T) => T;
export const identity: identity = <T>(value: T) => value;
如果我删除从函数定义的类型注释,则编译器假定参数“值”当我期望它解析一个“T”类型时有一个“任何”类型。我希望能够从函数定义中移除类型注释,并将它们写在函数的上方以便代码清晰。在TypeScript中使用泛型时可以这样做吗?
好吧,我会被诅咒的,没有想到要尝试。似乎工作,谢谢! – patrickjtoy