TL; DR
在typescript中声明变量是什么意思?例如(来自TypeScript手册或wiki):
声明var d3:D3.Base;
这种情况的目的是什么?
更多想法:
据我所知,声明一个模块或命名空间表示它是环境的,即它没有编译成JavaScript,只用于描述对象的形状(类型检查)。但是,变量声明的目的不在于我。
问题出现了,因为我正在查看明确键入的角度声明文件(angular.d.ts):
declare var angular: angular.IAngularStatic;
// Support for painless dependency injection
interface Function {
$inject?: string[];
}
// Collapse angular into ng
import ng = angular;
// Support AMD require
declare module 'angular' {
export = angular;
}
///////////////////////////////////////////////////////////////////////////////
// ng module (angular.js)
///////////////////////////////////////////////////////////////////////////////
declare module angular {......module declaration continues....
我正在努力弄清楚" import"""和变量声明。 Visual Studio Code似乎不喜欢导入,但Visual Studio 2015接受它(都使用TypeScript 1.6.2)。
答案 0 :(得分:1)
本案例的目的是什么
环境声明。主要用于支持未使用TypeScript编写的库(以及window
等环境变量)。
更多:https://basarat.gitbooks.io/typescript/content/docs/types/ambient/intro.html
但是,变量声明的目的不在于我。
某些库提供全局变量。例如。 jquery $
。
此主题包含在此处:https://basarat.gitbooks.io/typescript/content/docs/types/ambient/variables.html
我正在努力弄清楚" import"""和变量声明
import
可用于复制类型(此处为declare module angular
)。
此处的tips
部分介绍了这一点:https://basarat.gitbooks.io/typescript/content/docs/project/declarationspaces.html