单个文件中的内部模块,用于防止全局污染
定义
- 大括号内等同函数体,可以编写表达式:定义变量、定义接口、编写逻辑等
- 命名空间中的代码会被执行,内容默认情况下无法访问
- 需要使用关键字将指定内容导出
使用
使用 namespace 关键字进行定义,export 导出内容
namespace Validation {
const first = 'xing'
const last = 'ming'
const full = first + last
export const getFullName = () => full
}
const fullName = Validation.getFullName()
- 命名空间实际是创建了一个对象,属性就是使用export导出的内容
- 原理类似于JS的IEFE(自执行函数)模块