专栏目录请点击
简介
- 在TS1.5的版本后,推荐全面使用
namespace
来代替module
- 在实际语法上
namespace
等同于module
官网
使用
namespace
主要用于解决命名冲突,他会在全局生成一个对象,在namepace
内部的类都要通过这个对象访问namespance
是跨文件的,在任何文件中都可以使用
在同一个文件下使用
// 单位件.ts
namespace Validation {
// 定义一个命名空间
export interface PersonValidator { // 定义一个接口,并暴露
name: string,
age: number
}
}
// 在定义命名空间的文件下使用命名空间
const peron: Validation.PersonValidator = {
name: "sunwukong",
age: 18
}
console.log(peron)
在不同的文件下使用
也就是引用其他文件定义好的命名空间
- 通过
reference
进行导入相当于xxx.ts文件内的命名空间和当前文件进行了合并
/// <reference path="单文件.ts" />
const person1:Validation.PersonValidator = {
name:"猪八戒",
age:18
}
console.log(person)
console.log(person1)
这里相当于两个文件进行了合并,我们也可以访问到合并文件中定义的变量