全国协议5人面授小班,企业级独立开发考核,转业者的IT软件工程师基地 登录/注册 | 如何报名
当前位置: 前端开发   >  TypeScript 命名空间
admin · 更新于 2021-08-06

1. 解释

使用 namespace 关键字来声明命名空间。

TypeScript 的命名空间可以将代码包裹起来,只对外暴露这个命名空间对象,通过 export 关键字将命名空间内的变量挂载到命名空间对象上。

2. 命名空间的本质

命名空间本质上就是一个对象,将其内部的变量组织到这个对象的属性上:

namespace Calculate {
  const fn = (x: number, y: number) => x * y 
  export const add = (x: number, y:number) => x + y}
代码块
  • 1
  • 2
  • 3
  • 4

来看其编译后的结果:

"use strict";var Calculate;(function (Calculate) {
    var fn = function (x, y) { return x * y; };
    Calculate.add = function (x, y) { return x + y; };})(Calculate || (Calculate = {}));
代码块
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

那么,我们就可以访问 Calculate 对象上的 add 属性了:

Calculate.add(2, 3)
代码块
  • 1

命名空间主要是为解决全局作用域内重名问题,而这一问题随着模块化编程的使用,已经得到了解决。

3. 小结

通过本节的介绍,知道命名空间的使用方法即可,在 TypeScript 中一般不推荐使用。


为什么选择汉码未来