我使用打字稿的JSDoc形式,我试图用一个通用的扩展的对象。我的编辑是给我的index.js
码声明typeMyInterface<T>
的参数打字稿错误,说Type 'T' does not satisfy the constraint '{ a: number; }'.
如何指定我接受,制约了JSDoc打字稿对象的泛型参数?
// index.d.ts
declare interface MyInterface<T extends {a: number}> {
b: string;
}
// index.js
/**
* @template T
* @param {MyInterface<T>} impl
*/
function doStuff(impl) {
console.log(impl);
}
/**
* @template {{a: number}} T
* @param {MyInterface<T>} impl
*/
@template
约束条件在pull request 24600实施