Javascript 类在构造函数中或类外部定义属性

标签 javascript node.js class ecmascript-6

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

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/

相关文章:

javascript - 如何在 JavaScript 中使用对象文字表示法创建类?

javascript - knockout -剑道多选 : Enter Key Clears Previously Selected Values

node.js - Nodejs SendGrid CORS 请求被阻止

node.js - Node.js 上的 Azure Easy API 'No route registered for '/api/xxx'?

javascript - typescript 类型的动态类方法

javascript - 完成第二个功能后重新启动第一个功能

node.js - Typescript 路径别名在运行时未正确解析

c++ - C++ 中的私有(private)继承可见性/访问

javascript - jQuery 类选择器在类更改后不选择

javascript - 基于 Angular 组件的方法和在 Router 中使用 resolve