TypeScript:全局静态变量最佳实践
我有一个类,每次实例化该类时,我都需要增加一个数字。 我已经找到了两种方法,两种方法都有效,但我还不确定什么是最佳实践TypeScript:全局静态变量最佳实践,typescript,Typescript,我有一个类,每次实例化该类时,我都需要增加一个数字。 我已经找到了两种方法,两种方法都有效,但我还不确定什么是最佳实践 在模块作用域中声明变量 module M { var count : number = 0; export class C { constructor() { count++; } } } 在类作用域中声明变量并在类上访问它 module M { export class C { static count : number
module M {
var count : number = 0;
export class C {
constructor() {
count++;
}
}
}
module M {
export class C {
static count : number = 0;
constructor() {
C.count++;
}
}
}
另请参见:方法2,因为它是使用变量的类。所以它应该包含它 在案例1中,如果您使用的变量中包含多个类,则该变量将变得混乱,例如:
module M {
var count : number = 0;
export class C {
constructor() {
count++;
}
}
export class A{
}
}
这两种方法都可以,但是
方法2
更具自解释性,这意味着当您的代码变得更复杂时,它就不那么容易混淆了,除非您每次从该模块实例化一个类时都使用计数
,那么方法1
就是最好的选择
我更喜欢这样做:
module M {
export class C {
static count : number = 0;
constructor() {
C.count++;
}
}
}
如果C类不是唯一一个使用计数的类,我就不会在包级别看到它。更重要的是变量名。在代码中的大多数地方,“count”这个名称并没有足够的信息来说明它代表了什么。我更喜欢“numConstructed”或“constructedCount”。同意,它们应该是具体的!这里使用的代码只是示例