TypeScript 学习笔记 之 Namespace

Namespacing

Namespace 的几个特点。

  1. 声明方式:
namespace Validation{
  // 模块中其他代码
}
  1. namespace 可以在多个文件中声明。
    要引用命名空间中的其他组成部分。需要通过 /// <reference path="Validation.ts"/> 来告诉编译器。
    在生成代码时,编译器可以通过 reference 声明来确定他们的顺序,这一方法同样适用于生成 <script> 标签。

Aliases

可以通过 import q = x.y.z 的形式来为常用的命名空间比较深的对象创建别名。

跟其他 JS 库协同

类似模块,同样也可以通过为其他 JS 库使用了命名空间的库创建 .d.ts 文件的声明文件,如为 D3 JS 库,可以创建这样的声明文件:

declare namespace D3{
    export interface Selectors { ... }
}
declare var d3: D3.Base;

Namespaces 与 Modules 的区别

Namespaces 就好比是一个简单的 JS 全局对象。所以他们的区别是很明显。
另外现在 Modules 才是推荐的组织代码结构的方式。除非很有必要使用一个命名空间否则不不建议使用。

参考 :
Namespaces
Namespaces and modules

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容