Как правильно использовать ООП подход в JavaScript?

Последнее время начал использовать классы в JavaScript. В первую очередь, потому что это удобно, код более структурирован.

Методы как правило делал статическими, для того, что бы их можно было вызвать на конкретном элементе. Например:

class Catalog {
    static addToCart() {
    // код
    }
}

<button onclick="Catalog.addToCart()">Добавить в корзину</button>

И меня это устраивало, пока не наткнулся на статью, что static не поддерживается в Safari.

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

class Catalog {
    addToCart() {
    // код
    }
}

<button onclick="const catalog = new Catalog(); catalog.addToCart()">Добавить в корзину</button>

Но мне такой код не очень нравится. Можно ли как то по другому эго писать? Поделитесь своими практиками.


Ответы (0 шт):