статические методы. Статические свойства (или свойства класса) являются свойствами самого Foo. Если вы префиксное определение метода статичным, вы создаете метод класса:
Я не могу представить отличный пример, как в документах на моей голове прямо сейчас. Здесь я вставляю существенную часть.
class Point {
constructor(x, y) {
this.x = x;
this.y = y;
}
}
Point.ZERO = new Point(0, 0);
Вы можете использовать Object.defineProperty() для создания свойства только для чтения, но мне нравится простота присваивания.
Во-вторых, вы можете создать статический getter:
class Point {
constructor(x, y) {
this.x = x;
this.y = y;
}
static get ZERO() {
return new Point(0, 0);
}
}
В обоих случаях вы получаете свойство Point.ZERO, которое вы можете прочитать. В первом случае один и тот же экземпляр возвращается каждый раз. Во втором случае каждый экземпляр возвращается каждый раз.