【发布时间】:2015-10-14 23:42:56
【问题描述】:
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....
我正在努力弄清楚“导入”和变量声明到底发生了什么。 Visual Studio Code 似乎不喜欢导入,但 Visual Studio 2015 接受它(两者都使用 TypeScript 1.6.2)。
【问题讨论】: