【发布时间】:2018-08-04 15:33:52
【问题描述】:
我正在阅读TypeScript documentation 的这一部分,在泛型类型部分下,以下两个被声明为等效:
代码示例 1
function identity<T>(arg: T): T {
return arg;
}
let myIdentity: <T>(arg: T) => T = identity;
代码示例 2
function identity<T>(arg: T): T {
return arg;
}
let myIdentity: {<T>(arg: T): T} = identity;
文档指出这是可能的,原因如下。
我们也可以将泛型类型写成对象字面量类型的调用签名
尽管有这一行,我仍然在努力理解这两者是如何等价的,是否有任何进一步的文档或解释来说明“对象文字类型的调用签名”的含义。
很抱歉,我无法给出进一步的解释,但我完全不知道这两者是如何等价的,对我来说,第二种类型定义表明 myIdentity 应该是一个对象?
谢谢。
【问题讨论】:
标签: javascript typescript object generics object-literal