@decvdence

В чем разница обычного и static метода в данном сулчае?

Есть два файл, в одном содержится класс с методами корзины:
class Cart {
    fetch() {}
}

В другом роутинг:
const Cart = require('../models/cart')

router.get('/', async (req, res) => {
    const cart = await Cart.fetch()
})

Помогите разобраться, почему возникает ошибка Cart.fetch is not a function, при том что если сделать метод fetch статическим такой ошибки не возникает.
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
@abberati
frontend-разработчик
Обычные методы определены только у инстанса класса, их нет у самого класса. Чтобы вызвать такой метод, класс нужно инстанциировать.
const cart = new Cart()
await cart.fetch()


Статические методы определены только у класса, их нет у инстанса. Для обращения к таким методам класс инстанциировать не нужно.
await Cart.fetch()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы