TypeScript 环境声明

TypeScript 环境声明

TypeScript 提供了安全、简单地使用现有的 JavaScript 库,比如 jQueryAngularJSNode.js 等等。环境声明允许我们安全地使用现有流行的 JavaScript 库。

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

环境声明

环境声明文件的扩展名必须为 (d.ts)。每个根级别定义都必须使用 declare 关键字为前缀。这使得作者清楚地知道 TypeScript 不会发出任何代码,并且作者需要确保已声明的项在运行时将存在。

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

环境声明文件就像是 文档 文件。如果源发生变化,文档也需要保持更新。如果环境声明文件没有更新,它将返回编译错误。

Test.d.ts

我们不能将上面的文件 转译 为 JavaScript。我们可以使用以上文件进行 类型安全智能感知

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

语法

declare module module_name{
}

访问环境文件的语法

///

例子

我们可以通过以下示例理解环境声明。 这里,我们正在使用第三方 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

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

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

$ tsc main.ts
$ node Main.js

我们将得到以下输出。

Sum: 40

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程