TypeScript声明文件 TypeScript类型断言 TypeScript内置对象 声明文件 当使用第三方库时,我们需要引用它的声明文件。 声明语句 假如我们想使用第三方库,比如 jQuery,我们通常这样获取一个 id 是 foo 的元素: $('#foo'); // or jQuery('#foo'); 但是在 TypeScript 中,我们并不知道 $ 或 jQuery 是什么东西: jQuery('#foo'); // index.ts(1,1): error TS2304: Cannot find name 'jQuery'. 这时,我们需要使用 declare 关键字来定义它的类型,帮助 TypeScript 判断我们传入的参数类型对不对: declare var jQuery: (selector: string) => any; jQuery('#foo'); declare 定义的类型只会用于编译时的检查,编译结果中会被删除。 上例的编译结果是: jQuery('#foo'); 声明文件 通常我们会把类型声明放到一个单独的文件中,这就是声明文件: // jQuery.d.ts declare var jQuery: (string) => any; 我们约定声明文件以 .d.ts 为后缀。 然后在使用到的文件的开头,用「三斜线指令」表示引用了声明文件: /// <reference path="./jQuery.d.ts" /> jQuery('#foo'); 第三方声明文件 当然,jQuery 的声明文件不需要我们定义了,已经有人帮我们定义好了:jQuery in DefinitelyTyped。 我们可以直接下载下来使用,但是更推荐的是使用工具统一管理第三方库的声明文件。 社区已经有多种方式引入声明文件,不过 TypeScript 2.0 推荐使用 @types 来管理。 @types 的使用方式很简单,直接用 npm 安装对应的声明模块即可,以 jQuery 举例: npm install @types/jquery --save-dev 可以在这个页面搜索你需要的声明文件。 TypeScript类型断言 TypeScript内置对象