Typescript Typings工具中的“Ambient Typings”是什么?

时间:2016-03-12 04:40:55

标签: typescript

我听到“环境”一词用于描述使用typings工具下载的类型定义。那是什么意思呢?

我似乎无法找到它的直接定义或--ambient标志。

2 个答案:

答案 0 :(得分:39)

来自TypeScript文档:

  

环境声明将变量引入TypeScript范围,但对发出的JavaScript程序没有任何影响。程序员可以使用环境声明来告诉TypeScript编译器某些其他组件将提供变量。例如,默认情况下,TypeScript编译器将使用未定义的变量打印错误。要添加浏览器定义的一些常见变量,TypeScript程序员可以使用环境声明。

https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md#1.1

更简单地说。 Ambient声明告诉TypeScript编译器,当执行JavaScript时,TypeScript编译器现在无法看到(因为它不是TypeScript)。

想象一下,如果您正在编写使用jQuery的代码。如果您只是尝试编写$() TypeScript会认为您使用的是未声明的变量$并且会抛出错误。像declare var $这样的环境声明告诉TS编译器,即使编译器看不到$,它也会在执行JS时存在。

答案 1 :(得分:22)

从排序v1.0.0版本开始,不明确的字词ambient一直是changed to global

您可以简单地认为这些类型定义是" global"到项目。