我听到“环境”一词用于描述使用typings工具下载的类型定义。那是什么意思呢?
我似乎无法找到它的直接定义或--ambient
标志。
答案 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"到项目。