繁体   English   中英

JavaScript ES6 类 - 调用静态方法在类中设置实例是反模式吗?

[英]JavaScript ES6 Classes - Is it an anti-pattern to call a static method to setup an instance within a class?

我正在创建一个调用方法来进行一些处理和设置一些数据的类。 我正在使用 ESLINT,它警告我不应该在没有引用this的方法前面使用_ 此方法仅用于在实例中使用。 将该方法转换为静态方法会删除警告。 想知道在实例化期间使用静态方法设置实例是否是一种反模式,还是应该将其保留为实例方法? 下面的示例类。 谢谢!

class AppDataArray extends BaseXmlBuilder {
  constructor(arrayOfData) {
    super();
    this.payload = this._buildAppDataArray(arrayOfData);
  }

  static _buildAppDataArray(arrayOfData) {
    const arrayOfAppData = arrayOfData.map((data) => {
      const { app, name, value } = data;
      const appData = new AppData(app, name, value);
      return appData.payload;
    });
    return arrayOfAppData;
  }
}

这取决于你的情况。 你想在课堂内外经常使用这种方法吗? 所以让它保持静止就可以了。 但是,如果您不需要在类之外使用此方法而不想使其成为对象,则将其转换为普通成员方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM