получение значения метода stati c в классе javascript - PullRequest
0 голосов
/ 17 марта 2020

Я не могу понять, как получить значения метода c класса. мой код ниже.

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)

Прежде всего, я хочу получить экземпляр метода stati c. что-то вроде этого instanceof(field), оно должно быть равно «Поле». но я не знаю, правильный ли мой синтаксис для получения экземпляра. Во-вторых, я хочу, чтобы возвращаемое значение field.numCols было равно 4 из-за первого значения разбиения, а field.numRows должно быть равно 5. Извините, я не очень знаком с методом stati c класса. Я надеюсь, что вы можете помочь мне с моей проблемой. Большое спасибо.

1 Ответ

1 голос
/ 17 марта 2020

Похоже, что метод stati c должен проанализировать переданную строку и вернуть новый экземпляр 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)
...