📜  TypeScript 环境声明

📅  最后修改于: 2022-05-13 01:56:49.806000             🧑  作者: Mango

TypeScript 环境声明

Typescript 中的 Ambient 声明用于告诉 typescript 编译器实际代码存在于其他地方。使用纯 JavaScript 或 CoffeeScript 编写的第三方库,例如 jquery/angularjs/nodejs,虽然这是我们使用 TypeScript 所必需的,但我们始终可以编写环境声明并使用它们。

环境声明:
环境声明的文件扩展名为 (d.ts)。对于每个根级别定义,文件扩展名 (d.ts) 必须具有要在 Typescript 中使用的 declare 关键字。

如果我们尝试使用运行时不存在的源代码,那么程序将在没有警告的情况下中断。

环境声明文件类似于 docs 文件。文档需要在源更改时保持更新。否则,如果环境声明文件未更新,我们将收到编译器错误。

我们无法将上述文件转译成 JavaScript。上述文件将用于类型安全和智能感知。
使用 declare 关键字,可以声明环境变量和方法。
环境声明的语法是:
句法:

declare module module_name{  
}  

访问环境文件的语法:

环境声明可以通过以下示例来理解。下面,我们使用带有以下代码的第三方 JavaScript 库。
例子:

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

由于这是一个 JS 文件,我们没有时间将这个库重写为 typescript。但是仍然需要使用具有类型安全性的 doAdd()函数,那么我们可以通过环境声明来做到这一点。让我们创建一个环境声明文件。

declare module TestAdd{   
   export class Cal {   
      doAdd(a:number, b:number) : number;   
   }  
}  

现在,将此环境声明文件 (CalAdd.d.ts) 包含到我们的 TypeScript 文件中。

Main.ts
var obj = new TestAdd.Cal();   
console.log("Add: " +obj.doAdd(40, 25)); 

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

$ tsc main.ts  
 $ node Main.js 

输出:
我们将得到以下输出。

65