我是Typescript的新手;我已经阅读了文档,并且了解了通用类型T;但是在这个非常简单的示例中有什么问题?
function test1<string>(x:number):boolean{
let s:string="hello";
if (x==1 && s==="hello") return true
else return false
}
编译器说:“类型参数名称不能为'string'”。
错误出现在<string>
上。
在我的练习中,我尝试定义一个非通用类型参数,在此示例中,为<string>
答案 0 :(得分:0)
保留的关键字(例如String)不能用作通用名称。要定义非泛型,可以使用extends
关键字。签出以下示例:
interface Lengthwise {
length: number;
}
function loggingIdentity<T extends Lengthwise>(arg: T): T {
console.log(arg.length); // Now we know it has a .length property, so no more error
return arg;
}
有关泛型的更多信息,请参见:https://www.typescriptlang.org/docs/handbook/generics.html