.d.ts文件可以配置tsconfig.json自动生成,编写第三方库时可以方便应用引入这个库时直接有代码提示(而不是需要额外装一个@types/xxx这种形式)。另外如果要用到一个全局变量(比如webpack.DefinePlugin定义的变量),这个变量直接用时编辑器会提示未定义,此时就可以新建一个.d.ts手动加上这个实际存在变量的声明declare const xxx。 动态给类加方法本就不符合typescript的规矩,老老实实重新定义一个类然后extends旧类。(强行以js方式加方法有效但是会报警告,需要转any类型且没提示)。
通过合并声明来实现 class Foo { public foo() { console.log('foo'); } } // 删掉这个定义将报错 interface Foo { bar: () => void; } Foo.prototype.bar = () => { console.log('bar'); }
.d.ts
文件可以配置tsconfig.json
自动生成,编写第三方库时可以方便应用引入这个库时直接有代码提示(而不是需要额外装一个@types/xxx
这种形式)。另外如果要用到一个全局变量(比如webpack.DefinePlugin
定义的变量),这个变量直接用时编辑器会提示未定义,此时就可以新建一个.d.ts
手动加上这个实际存在变量的声明declare const xxx
。typescript
的规矩,老老实实重新定义一个类然后extends
旧类。(强行以js
方式加方法有效但是会报警告,需要转any
类型且没提示)。