描述
- 在使用ts的时候,最大的一个好处就是可以给js各种类型约束,使得js能够完成静态代码分析,推断代码中存在的类型错误或者进行类型提示
- ts完成类型推断,需要事先知道变量的类型,如果我们都是用ts书写代码,并且给变量都指定了明确的类型,这时ts可以很好的完成类型推断工作
- 但是有时,我们不免会引入外部的 js 库,这时ts就对引入的js文件里变量的具体类型不明确了,为了告诉ts变量的类型,因此就有了.d.ts (d即declare),ts的声明文件。
举例
-
比如我们在项目中使用了jQuery,那么对ts来说,它并不清楚jQuery或者$是什么类型,因此需要我们对它进行声明,例如:
declare var jQuery: (selector: string) => any;
-
而这些声明我们常常放在.d.ts文件中,同时注意,声明文件只包含类型声明,并不包括具体的实现
-
并且,很多常用库(比如jQuery)的声明文件已经由其他人写好了,因此我们通过工具安装使用某个库时,并不需要自己来写声明文件
-
declare 定义的类型只会用于编译时的检查,编译结果中会被删除。