我正在创建一个定义以下类的项目:
class BankAccount {
constructor(balance=0){
this.balance = balance;
}
withdraw(amount){
if(this.balance - amount >= BankAccount.overdraftlimit){
this.balance -= amount;
}
}
}
BankAccount.overdraftlimit = -500;
我的问题是关于属性overdraftlimit的定义
这是定义我们调用全局属性的最佳方式吗?
或者应该更好地在构造函数
中定义它,例如
this.overdraftlimit = -500;
谢谢!!
最佳答案
如果overdraftlimit
在所有BankAccount
之间共享,则采用静态属性。
BankAccount.overdraftlimit = -500;
如果每个 BankAccount
都有自己的 overdraftlimit
,它不应该是类的一部分,而应该是单个实例的一部分。
constructor(balance = 0){
this.balance = balance;
this.overdraftlimit = -500;
}
这样您还可以更改overdraftlimit
,而不会影响其他BankAccount
。
关于Javascript 类在构造函数中或类外部定义属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57532616/