如何在TypeScript的d.ts文件中导出JavaScript类的引用
正确声明导出类构造函数的类型方案
你的JavaScript代码里,FooClass导出的是Foo类本身(构造函数),不需要用虚拟继承来声明类型,直接使用typeof Foo即可匹配原类的构造函数类型:
import { Foo } from 'foo'; export const foo: Foo; export const FooClass: typeof Foo;
说明
typeof Foo会直接引用Foo类的完整构造函数类型,包括类的静态成员和实例化签名,完全对应JS里导出的原类,没有冗余的虚拟继承逻辑。- 如果你想显式标注构造函数的实例化行为,也可以写成
new () => Foo,但typeof Foo更简洁,且能完整保留原类的静态属性与方法,更推荐使用。
内容的提问来源于stack exchange,提问作者samjaf
相关产品推荐
相关产品推荐

