d.ts是啥东西
js文件缺少了类型,ts那么多的类型数据就都没了,所以需要一个d.ts文件来标记某个js库里面的对象的类型。
typings就是网络上的d.ts数据库。
简单来说,就是描述库中成员类型来给TS用的。
好处:代码安全,编辑器能够智能提醒
还会定义很多export的数据类型,和interface供外部模块调用。很显然就是数据规范。
声明文件
使用第三方库的时候,需要引用它的声明文件
$('#foo');
// or
jQuery('#foo');
使用declare
关键字来定义它的类型,帮助TS判断传入类型:
declare var jQuery: (selector: string) => any;
jQuery('#foo');
declare
定义的类型只会用于编译时的检查,编译结果中会被删除。
类型声明放到一个单独的文件中,这就是声明文件。
// jQuery.d.ts
declare var jQuery: (string) => any;
使用///
表示引用了声明文件:
/// <reference path="./jQuery.d.ts" />
jQuery('#foo');
索引签名
可以用字符串访问js中的对象,保存对其他对象的引用。