Javascript функция подключения - PullRequest
0 голосов
/ 06 апреля 2020

У меня очень базовый вопрос c. В JavaScript я написал класс, занимающийся рисованием трехмерных объектов, который имеет в своем составе конструктор и два метода:

class Editor {
    constructor(canvasElement) {
        this.c = canvasElement;
        this.ctx = this.c.getContext("2d");
        this.origin = {};
        this.container = {
            vertex: []
        };
        (... blah blah...)
    }

    setVertex(x, y, z) {
        this.container.vertex.push({ x: x, y: y, z: z });
        return { x: x, y: y, z: z };
    }
    setAsOrigin() {
        this.origin = {...this , anotherBunchOfParams: []};
        (... workaround with the origin..)
        return this.origin;
    }
}

var E = new Editor(); 
( ??? - Expression below throwing errors right now)

Вопрос: как правильно написать следующее выражение:

E.setVertex(1, 2, 3).setAsOrigin();

чтобы он правильно компилировался, код остался верным, а типы возвращаемых данных остались прежними?

Я хотел бы сохранить синтаксис выражения как есть, поэтому без bind(this) в выражение (все, что разрешено изменять внутри 2 функций / конструктора)

Большое спасибо!

PS: я искал весь стекопоток для привязки функции, не найдя ответа (хотя это возможно и где-то, но небольшие шансы :) - Как называется термин 'connecting' нескольких функций, подобных этой? Знал, что в Java вы могли бы использовать this как the instance calling your function, но, кажется, this, по крайней мере, в этом случае, означает по какой-то причине window

...