Typescript Typings工具中的"Ambient Typings"是什么?

Ric*_*ick 32 typescript

我听说用来描述下载的类型定义的术语"环境" 分型工具.那是什么意思呢?

我似乎无法找到它或--ambient旗帜的简单定义.

Ted*_* A. 39

从TypeScript文档:

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

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

更简单地说.环境声明告诉TypeScript编译器,当执行JavaScript时,将存在TypeScript编译器现在无法看到的东西(因为它不是TypeScript).

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


tan*_*an9 22

从类型v1.0.0发布,不明确的术语ambient已更改为global.

您可以简单地认为这些类型定义对项目是"全局的".