[英]TypeScript Type of generic function
我无法在TypeScript文档中了解以下段落:
“泛型函数的类型与非泛型函数的类型一样,首先列出类型参数,类似于函数声明:”
function identity<T>(arg: T): T {
return arg;
}
let myIdentity: <T>(arg: T) => T = identity;
最后一行做了什么以及为什么使用它?
据我所知,myIdentity是一个变量,它获取身份函数的类型? 如果是这种情况,为什么我需要定义这样的变量? 函数标识已经声明了我可以期待的返回类型。
让我们说,从编译器的角度来看,由于类型推断,不需要显式类型声明。
let myIdentity: <T>(arg: T) => T = identity;
相当于
let myIdentity = identity
然而,从人的角度来看,它可用于提高代码可读性。
最后一行声明了一个名为myIdentity
的变量。 这个变量是一个功能类型,一通用功能( <T>
使得它的通用功能的签名,更类型参数可以是在列表中),其采用类型的参数T
并返回类型的值T
。 然后使用符合myIdentity的声明签名的identity
函数初始化变量。
您可能希望这样做,以便根据运行时条件为myIdentity
分配不同的函数。 或者声明这种类型的参数并将其传递给稍后可以调用它的函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.