Typescript:泛型函数可以使用类型变量吗?
只需阅读typescript中有关泛型函数的部分: Q:我想知道是否可以根据传递给泛型的类型变量有不同的行为?e、 g:Typescript:泛型函数可以使用类型变量吗?,typescript,typescript-generics,Typescript,Typescript Generics,只需阅读typescript中有关泛型函数的部分: Q:我想知道是否可以根据传递给泛型的类型变量有不同的行为?e、 g: 接口GenericEntityfn{ (arg:T):T; } 函数标识(arg:T):T{ //基于T的“词汇”值,不一定是'arg'的“typeof”? if(is“TypeA”)console.log('A!') 如果(是“TypeB”)myArray.push(arg),则为else else arg.foo+=1 返回arg; } 让myIdentity:Gener
接口GenericEntityfn{
(arg:T):T;
}
函数标识(arg:T):T{
//基于T的“词汇”值,不一定是'arg'的“typeof”?
if(is“TypeA”)console.log('A!')
如果(是“TypeB”)myArray.push(arg),则为else
else arg.foo+=1
返回arg;
}
让myIdentity:GenericEntityFn=identity
抛开这是否愚蠢/无用不谈,typescript中是否可能存在这种单一接口、差异化行为?不,当代码被发送到JavaScript时,静态类型系统信息(如接口和泛型)会在运行时运行。运行时没有
,因此无法按编写的方式完成。正确的思考方式是:“我想让JavaScript做什么,然后如何用TypeScript为它编写类型?”如果必须用纯JS来做这件事,你会怎么做?传入构造函数并使用instanceof
?还有什么?@jcalz(没有,当代码被发送到JavaScript时,静态类型的系统信息,如接口和泛型,这是在运行时运行的。在运行时没有
,因此它不能像编写的那样完成。正确的思考方式是:“我希望JavaScript做什么,然后如何在TypeScript中为其编写类型?”如果必须在纯JS中执行此操作,您会怎么做?传入构造函数并使用instanceof
?其他内容?@jcalz(