2020年11月12日
ts-命名空间
命名空间:避免各种变量命名冲突,将相似的功能的函数、类、接口等放置到命名空间中。命名空间内通过export暴露。通过namespace 关键字包裹。
命名空间和模块的区别:
命名空间:内部模块,主要用于组织戴拿,避免命名冲突
模块:ts的外部模块的简称,侧重代码的复用,一个模块中可以有多个命名空间
namespace A{ interface c{ name:string; age:number; } export class getData implements c{ name:string; age:number; constructor(n:string,a:number){ this.name = n; this.age = a; } export get():string{ return this.name+this.age } } } var getDataName = new A.getData('张3',2) console.log(getDataName.get())
我们把A
命名空间分割成多个文件。 尽管是不同的文件,它们仍是同一个命名空间,并且在使用的时候就如同它们在一个文件中定义的一样。
简化命名空间操作的方法是使用import q = x.y.z
给常用的对象起一个短的名字
namespace Shapes { export namespace Polygons { export class Triangle { } export class Square { } } } import polygons = Shapes.Polygons; let sq = new polygons.Square(); // Same as "new Shapes.Polygons.Square()"