TypeScript系列学习笔记-命名空间namespace

简介:从ECMAScript 2015开始,JS引入了模块的概念。TS也沿用这个概念,但在TS1.5里术语名已经发生了变化。 "内部模块"现在称做"命名空间""外部模块"现在则简称为"模块",这是为了与 ECMAScript 2015里的术语保持一致,(也就是说module X {} 相当于现在推荐的写法 namespace X {})。

注:任何使用 module关键字来声明一个 "内部模块" 的地方都应该使用namespace关键字来替换。

命名空间(namespace)概念:

1.类似C#中的命名空间;

2.使用 namespace 关键字申明,

3.在命名空间中默认成员都是私有 private 的;

4.在命名空间中使用 export 关键字声明公有资源;

5.命名空间支持跨文件分隔;

6.在Node.js/Require.js中使用 require 关键字导入模块;

7.可以使用 import 关键字声明命名空间的别名;

实例代码如下(TS和JS对比):

TypeScript系列学习笔记-命名空间namespace_第1张图片

关键字 interface 声明接口、 implements 实现接口;

外部命名空间:declare namespace 

流行的程序库D3在全局对象d3里定义它的功能。 因为这个库通过一个 ),浏览器是按顺序加载文件的,待文件加载完毕再解析html标签文档。

你可能感兴趣的:(TypeScript系列学习笔记-命名空间namespace)