我有这个类,每次实例化类时我都需要增加一个数字。 我找到了两种方法,两种方式都有效,但我不确定最佳做法是什么
在模块范围中声明变量
module M {
var count : number = 0;
export class C {
constructor() {
count++;
}
}
}
在类范围内声明变量并在Class
上访问它module M {
export class C {
static count : number = 0;
constructor() {
C.count++;
}
}
}
我的观点是示例二,因为它没有在模块范围中添加count变量。
答案 0 :(得分:32)
绝对是方法2,因为那是使用变量的类。所以它应该包含它。
在案例1中,您使用的变量一旦您有多个类就会变得混乱,例如:
module M {
var count : number = 0;
export class C {
constructor() {
count++;
}
}
export class A{
}
}
答案 1 :(得分:2)
它们都没问题,但是method 2
更加自我解释,这意味着当你的代码变得更加复杂时它会变得更加混乱,除非你每次使用count
增加实例化一个类时都会增加模块然后method 1
是要走的路。
我更喜欢这样做:
module M {
export class C {
static count : number = 0;
constructor() {
C.count++;
}
}
}