我正在创建一个定义以下类的项目:

class BankAccount {
 constructor(balance=0){
   this.balance = balance;
 }

 withdraw(amount){
    if(this.balance - amount >= BankAccount.overdraftlimit){
      this.balance -= amount;
    }
  }
}

BankAccount.overdraftlimit = -500;


我的问题是关于属性overdraftlimit的定义

这是定义我们称为全局属性的最佳方法吗?
或者最好在constructor之内定义它,例如

this.overdraftlimit = -500;


谢谢!!

最佳答案

如果overdraftlimit在所有BankAccount之间共享,则应采用静态属性。

BankAccount.overdraftlimit = -500;


如果每个BankAccount都有自己的overdraftlimit,则它不应属于该类,而应属于单个实例。

 constructor(balance = 0){
   this.balance = balance;
   this.overdraftlimit = -500;
 }


这样,您还可以更改overdraftlimit而不影响其他BankAccount

09-17 08:54