我想用JSDoc强烈键入通用函数。可以使用@callback
和@template
标签来完成,但是我注意到这种组合将被翻译成与Foo<T>
之类的generic interface等效,这不是我想要的
/**
* @callback Foo
* @param {T} x
* @returns {T}
* @template T
*/
上面的JSDoc大致等同于:
interface Foo<T> {
(x: T): T
}
但是我想要
interface Foo {
<T> (x: T): T
}
有什么方法可以实现非通用接口?