考虑以下代码,请注意someField的文档
interface Test {
/**
* Some description.
* lorum ipsum.
* foo bar.
*/
someField: string;
}
function withGeneric<T extends Test>(arg: T) {
return arg;
}
function withoutGeneric(arg: Test) {
return arg;
}
withGeneric({
someField: ""
});
withoutGeneric({
someField: ""
});当我将鼠标悬停在withoutGeneric调用中的someField上时,VSCode很好地向我显示了文档:

但是,当将鼠标悬停在withGeneric调用中的someField上时,不会显示文档:

有没有办法让tsdoc文档也能使用泛型参数?
发布于 2021-10-18 08:00:55
我找到了一个适合我的答案。添加具有extended from类型的联合:
/**
* withGeneric sample
* @typeParam T - must be a Test
* @param arg
* @returns
*/
function withGeneric<T extends Test>(arg: T & Test) {
return arg;
}现在,VSCode确实显示了文档:

这感觉像是一场恶作剧,但我看不出它有什么缺点?
https://stackoverflow.com/questions/69587324
复制相似问题