泛型类型
function identity<T>(arg:T):T {
return arg;
}
let myIdentity:<T>(arg:T) => T=identity;
也可以使用泛型参数名,只要在数量上和使用方式上能对应上就可以.
function identity<T>(arg:T):T {
return arg;
}
let myIdentity: <U>(arg:U)=>U=identity;
还可以使用带有调用签名的对象字面量来定义泛型函数:
function identity<T>(arg:T):T {
return arg;
}
let myIdentity:{<T>(arg: T): T} = identity;
去写第一个泛型接口 我们把上面例子里面的对象字面量拿出来做为一个接口
interface GenericIdentityFn{
<T>(arg:T):T;
}
function identity<T>(arg:T):T {
return arg;
}
let myIdentity:GenericIdentityFn = identity