1. 解释
使用 namespace
关键字来声明命名空间。
TypeScript 的命名空间可以将代码包裹起来,只对外暴露这个命名空间对象,通过 export
关键字将命名空间内的变量挂载到命名空间对象上。
2. 命名空间的本质
命名空间本质上就是一个对象,将其内部的变量组织到这个对象的属性上:
- 1
- 2
- 3
- 4
来看其编译后的结果:
- 1
- 2
- 3
- 4
- 5
- 6
那么,我们就可以访问 Calculate 对象上的 add 属性了:
- 1
命名空间主要是为解决全局作用域内重名问题,而这一问题随着模块化编程的使用,已经得到了解决。
3. 小结
通过本节的介绍,知道命名空间的使用方法即可,在 TypeScript 中一般不推荐使用。