TypeScript 声明文件

声明文件是什么

声明文件是描述 js 库和模块信息的文件。将第三方 js 库的函数和方法体去掉后,只保留导出类型声明,即声明文件的内容。

声明文件的作用

TypeScript 会使用声明文件来进行类型校验,使用声明文件是为了借用 TypeScript 的类型检查。

语法

  • 声明文件以 .d.s 为后缀

  • 声明文件或模块的语法格式为:

    1
    2
    declare module Module_Name {
    }
  • TypeScript 引入声明文件语法格式:

    1
    /// <reference path = " runoob.d.ts" />

示例

CalcThirdPartyJsLib.js 文件代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var Runoob;  
(function(Runoob) {
var Calc = (function () {
function Calc() {
}
})
Calc.prototype.doSum = function (limit) {
var sum = 0;

for (var i = 0; i <= limit; i++) {
sum = sum + i;
}
return sum;
}
Runoob.Calc = Calc;
return Calc;
})(Runoob || (Runoob = {}));
var test = new Runoob.Calc();

Calc.d.ts 文件代码

如果想在 TypeScript 中引用上面的代码,则需要创建声明文件 Calc.d.ts,代码如下:

1
2
3
4
5
declare module Runoob { 
export class Calc {
doSum(limit:number) : number;
}
}

CalcTest.ts 文件代码

把声明文件加入到 TypeScript 中

1
2
3
4
/// <reference path = "Calc.d.ts" /> 
var obj = new Runoob.Calc();
// obj.doSum("Hello"); // 编译错误
console.log(obj.doSum(10));