最好用一个例子解释:
一些-class.js
function SomeClass() { /* ... */ }
SomeClass.prototype.doSomething = function() { /* ... */ };
export function createSomeClass() {
return new SomeClass();
}
index.js
import { createSomeClass } from './some-class';
/**
* @param {SomeClass} someClass
*/
function foo(someClass) {
someClass.doSomething();
}
var someClass = createSomeClass();
someClass.doSomething();
此代码导致VSCodes TypeScript检查程序出错,并且不会为foo
内的类提供代码完成:
另一种方法是导出类构造函数并将其导入index.js
,这样可以完整地完成代码,但由于未使用的类导入而添加警告:
我也不喜欢这个解决方案,它将课程“泄漏”到外面,否则由于createSomeClass
工厂而无需这样做。
是否有某种方法可以获得完整的注释&没有未使用的类导入的代码完成?