Что означает "статический get" в Javascript (ES6)? [дубликат]

этот вопрос уже есть ответ здесь:

мне нужно теперь, что означает такое выражение в Javascript

static get is() { return "custom-element"; }

думаю, что static может иметь поведение, подобное Java или C++, но мне нужна дополнительная информация об этих синтаксисах.

1 ответов


вы правы. Они почти рядом для любых других объектно-ориентированных языков программирования, таких как C++ и Java

все задокументировано. Это статический метод, на который вы смотрите, и get-это getter свойства или объекта, который вы хотите получить.

если вы посмотрите на исследовать статические

статические методы. Статические свойства (или свойства класса) свойства самого Фу. Если вы префикс определения метода со статическим, вы создаете метод класса:

> typeof Foo.staticMethod
'function'
> Foo.staticMethod()
'classy'

и static свойства:

Я не могу придумать отличный пример, чем данный В docs on top of my head прямо сейчас. Здесь я вставляю существенную часть.

class Point {
    constructor(x, y) {
        this.x = x;
        this.y = y;
    }
}

Point.ZERO = new Point(0, 0);

вы можете использовать Object.defineProperty() для создания свойства только для чтения, но мне нравится простота назначение.

во-вторых, вы можете создать статический геттер:

class Point {
    constructor(x, y) {
        this.x = x;
        this.y = y;
    }
    static get ZERO() {
        return new Point(0, 0);
    }
}

в обоих случаях вы получаете точку свойства.Ноль, который вы можете прочитать. В первом случае каждый раз возвращается один и тот же экземпляр. Во втором случае каждый раз возвращается новый экземпляр.