TypeScript 环境声明

TypeScript 环境声明

TypeScript提供了一种安全且简便的方式来使用现有的JavaScript库,如jQuery、AngularJS、Node.js等。环境声明使我们能够安全地使用现有的流行JavaScript库。

环境声明告诉TypeScript编译器实际的源代码(如变量/函数)存在于其他地方。如果我们的TypeScript代码需要使用以纯JavaScript库编写的第三方库,如jQuery/AngularJS/Node.js,我们总是可以编写环境声明。环境声明描述了本应存在并用TypeScript编写的类型。

环境声明

环境声明文件需要使用扩展名 (.d.ts) 保存。扩展名为.d.ts的文件的每个根级别的定义都必须以 declare 关键字为前缀。这清楚地告诉作者TypeScript不会生成任何代码。作者需要确保声明的项在运行时存在。

环境声明告诉编译器实际的源代码存在于其他地方。如果这些源代码在运行时不存在但我们试图使用它们,那么会导致错误而没有任何警告。

环境声明文件就像 文档 文件。如果源文件发生更改,文档也需要进行更新。如果环境声明文件未更新,将会返回编译错误。

Test.d.ts

我们无法将上述文件 trans-compiledJavaScript。我们可以使用该文件进行 type-safetyIntelliSense

我们可以使用 declare 关键字声明环境变量和方法。环境声明的语法如下所示。

语法

declare module module_name{
}

访问环境文件的语法

/// <reference path = "AmbientFileName.d.ts" />  

示例

通过以下示例我们可以理解环境声明。这里我们使用了一个第三方JavaScript库来实现以下代码。

Addition.js

var TestSum;  
(function (TestSum) {  
   var Calc = (function () { 
      function Calc() { 
      } 
      Calc.prototype.doSum = function (a, b) {
         return a + b;
      }
   })
})

以上是一个 JS文件 ,我们没有太多时间将这个库重写为TypeScript。但是,如果我们需要使用 doSum() 函数,并保证类型安全,我们可以使用 声明文件 来实现。让我们创建一个声明文件。

CalcSum.d.ts

declare module TestSum { 
   export class Calc { 
      doSum(a:number, b:number) : number; 
   }
}

现在,在我们的TypeScript文件中包含这个环境声明文件

(CalcSum.d.ts)

Main.ts

///  
var obj = new TestSum.Calc(); 
console.log("Sum: " +obj.doSum(15,25));

在控制台上使用以下命令编译并执行 Main.ts 文件。

$ tsc main.ts
$ node Main.js

我们将得到以下输出。

Sum: 40

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程