使用命名空间,避免变量名,函数名,类名重复。
一、使用命名空间定义变量
namespace A{
export var a =10;
}
namespace B{
export var a = 20;
}
console.log(A.a)
console.log(B.a)
二、使用命名空间定义类
namespace A{
export class Person{
name:string|undefined;
age:number|undefined;
constructor(name:string,age:number){
this.name = name;
this.age = age;
}
}
}
namespace B{
export class Person{
name:string|undefined;
age:number|undefined;
constructor(name:string,age:number){
this.name = name;
this.age = age;
}
}
}
var cheng = new A.Person("cheng",18);
var jiang = new B.Person("jiang",20);
console.log(cheng);
console.log(jiang)
三、命名空间模块化
module/db.ts
export namespace A{
export class Person{
name:string|undefined;
age:number|undefined;
constructor(name:string,age:number){
this.name = name;
this.age = age;
}
}
}
import {A} from './modules/db';
var cheng = new A.Person("cheng",20);