Class TypeScript静态成员与具有类名的命名空间
在TypeScript中,我将非实例变量从类中分离出来,并放入与类同名的命名空间中。例如:Class TypeScript静态成员与具有类名的命名空间,class,typescript,module,namespaces,Class,Typescript,Module,Namespaces,在TypeScript中,我将非实例变量从类中分离出来,并放入与类同名的命名空间中。例如: class Person { age: number; constructor(age: number) { this.age = age; } } namespace Person { export let numberOfFingers: number = 10; } export default Person; 与此相反: class
class Person
{
age: number;
constructor(age: number)
{
this.age = age;
}
}
namespace Person
{
export let numberOfFingers: number = 10;
}
export default Person;
与此相反:
class Person
{
static numberOfFingers: number = 10;
age: number;
constructor(age: number)
{
this.age = age;
}
}
export default Person;
这两种方法都有好处吗 就类型检查和代码生成而言,这两种方法产生的结果完全相同。我可以为静态成员提供两个不太有力的论据:
- 这是最明显的事情,它不需要了解语言()的高级部分来理解代码
- 如果您需要一个创建并返回类定义的函数(用于模拟静态泛型成员或添加mixin),那么名称空间将不起作用-您不能在函数中包含名称空间