单个文件中的内部模块,用于防止全局污染

定义

  1. 大括号内等同函数体,可以编写表达式:定义变量、定义接口、编写逻辑等
  2. 命名空间中的代码会被执行,内容默认情况下无法访问
  3. 需要使用关键字将指定内容导出

使用

使用 namespace 关键字进行定义,export 导出内容

  1. namespace Validation {
  2. const first = 'xing'
  3. const last = 'ming'
  4. const full = first + last
  5. export const getFullName = () => full
  6. }
  7. const fullName = Validation.getFullName()
  • 命名空间实际是创建了一个对象,属性就是使用export导出的内容
  • 原理类似于JS的IEFE(自执行函数)模块