个性化阅读
专注于IT技术分析

TypeScript环境声明 – TypeScript开发教程

点击下载

上一章TypeScript教程请查看:TypeScript鸭子类型(duck-typing)

TypeScript提供了一种安全、轻松使用现有JavaScript库的方法,比如jQuery、AngularJS和Node.js等,环境声明允许我们安全地使用现有的流行JavaScript库。

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

环境声明

环境声明文件需要保存扩展名(d.ts),扩展名为.d的文件,ts必须将declare关键字置于每个根级别定义的前缀。它向作者表明不会有TypeScript发出的代码,作者需要确保声明的项在运行时存在。

环境声明告诉编译器实际的源代码在其他地方,如果这些源代码在运行时不存在,而我们试图使用它们,那么它将在没有警告的情况下中断。

环境声明文件类似于docs文件。如果源文件改变了,文档也需要更新。如果环境声明文件没有更新,它将返回编译错误。

Test.d.ts  

我们无法将上述文件转换成JavaScript,我们可以使用上面的文件进行类型安全和智能感知。

我们可以使用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;   
   }  
}  

现在,将这个环境声明文件(CalcSum.d.ts)包含到TypeScript文件中。

Main.ts

/// <reference path = "CalcSum.d.ts" />   
var obj = new TestSum.Calc();   
console.log("Sum: " +obj.doSum(15,25));  

编译并执行主程序.ts文件,在控制台中使用以下命令。

$ tsc main.ts  
$ node Main.js  
赞(0)
未经允许不得转载:srcmini » TypeScript环境声明 – TypeScript开发教程

评论 抢沙发

评论前必须登录!