声明文件必需以 .d.ts 为后缀
如果是将声明文件直接存放于当前项目中,则建议和其他源码一起放到 src 目录下
script标签引入
全局变量声明使用declare const jQuery: (selector: string) => any
declare function
用来定义全局函数的类型
当全局变量是一个类的时候,我们用 declare class
来定义它的类型
declare namespace
它用来表示全局变量是一个对象,包含很多子属性
在 declare namespace 内部,我们直接使用 function ajax 来声明函数,而不是使用 declare function ajax。类似的,也可以使用 const、class、enum 等语句
如果对象拥有深层的层级,则需要用嵌套的 namespace 来声明深层的属性的类型
interface 前是不需要 declare 的
npm包
export
注意,只有 function、class 和 interface 可以直接默认导出,其他的变量需要先定义出来,再默认导出
UMD库
既可以通过 script 标签引入,又可以通过 import 导入的库,称为 UMD 库。
export as namespace 赋予一个别名