TS笔记 - 06命名空间 namespace

命名空间 namespace A{}

在代码量较大情况下,为了避免各种变量命名相冲突,可将相似功能的函数 类接口等放置到命名空间内。同JAVA NET的命名空间一样,如果需要向外调用 需要export

命名空间和模块的区别

命名空间:内部模块 主要用于组织代码 避免命名冲突

模块:TS的外部模块的简称 侧重代码的复用 一个模块 里可能会有多个命名空间

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// person.ts
export namespace A{
// 命名空间下的私有类 如果需要向外调用 需要export
export class Person{
name:string;
constructor(n:string){
this.name = n;
}
run():void{
console.log(this.name);
}
}
}
// index.ts
import {A} from './person.ts'
var D = new A.Person();