javascript - 为每个类单独继承静态成员

标签 javascript node.js inheritance typescript

A 类和 B 类持有对配置成员的相同地址引用。我怎样才能将它们分开?

class ConfigModel {

    public static config = []

    public foo() {
        //Code
    }

}

class A extends ConfigModel {

}

class B extends ConfigModel {

}

最佳答案

您可能想尝试以下操作:

class ConfigModel {
  static get config () {
    return this._config = this._config || [];
  }
}

class A extends ConfigModel {
}

class B extends ConfigModel {
}

A.config.push(1);
B.config.push(2);

console.log(A.config); // [1]
console.log(B.config); // [2]

它所做的一切都是为了在第一次访问时动态定义静态属性。希望对您有帮助!

关于javascript - 为每个类单独继承静态成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40409516/

相关文章:

具有具体方法的Python抽象类

Java继承 - 继承变量 "copied"还是由子类缓存?

javascript - 注释由构造函数参数设置的实例属性?

javascript - Alfresco 中的 Lucene 搜索

jquery - NuxtJS 应该如何配置 jsdom?

node.js - Thinky ORM + RethinkDB - 多对多关系

c# - 什么时候使用泛型和继承比较合适?

屏幕上时的 Javascript 触发器(进度条)

php - 通过 ajax 调用使用 php 设置 cookie

arrays - 如何使用nodejs在已经存在的文档中添加数组?