javascript - 获取javascript类中静态方法的值

标签 javascript class static

我不知道如何获取类的静态方法的值。我的代码如下。

class Field {
    constructor(rows = 11, cols = 10) {
    this.numRows = rows
    this.numCols = cols
    }

    static loadFromFileContents(contents) {
        this.numCols = contents.split('x')[0]
        this.numRows = contents.split('x')[1]

    }
}
const contents = `4 x 5`
const field = Field.loadFromFileContents(contents)
console.log(field.numCols)
console.log(field.numRows)

首先,我想获取静态方法的实例。像这样的instanceof(field),它应该等于“Field”。但我不知道我的语法是否正确获取实例。其次,由于第一个分割值,我希望 field.numCols 的返回值应等于 4 field.numRows 应该等于 5。抱歉,我对类的静态方法不太熟悉。我希望你能帮助我解决我的问题。非常感谢。

最佳答案

听起来静态方法需要解析传递的字符串并返回一个新的 Field 实例:

class Field {
  constructor(rows = 11, cols = 10) {
    this.numRows = rows
    this.numCols = cols
  }

  static loadFromFileContents(contents) {
    const [rows, cols] = contents.split(' x ');
    return new Field(rows, cols);
  }
}
const contents = `4 x 5`
const field = Field.loadFromFileContents(contents)
console.log(field.numCols)
console.log(field.numRows)

关于javascript - 获取javascript类中静态方法的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60716240/

相关文章:

java - LinkedList(通用)中的删除方法有什么问题?

c++ - 完成一个类型的数据

C++ 静态虚拟成员?

javascript - 打开另一个模式时如何关闭一个模式?

javascript - Google Chart 折线图小时和分钟

javascript - ES6 类 - 更新静态属性

java - 前向引用错误?为什么不在从 m1 方法访问时?

c# - 静态到实例,我该如何正确处理?

javascript - jQuery 使用 IFRAME 内容中的 RegEx

javascript - 我可以在 Javascript 中创建一个按顺序但不一定按顺序匹配字符的正则表达式吗?