Задать вопрос
@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 статическим такой ошибки не возникает.
  • Вопрос задан
  • 57 просмотров
Подписаться Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Node.js для backend-разработки
    6 месяцев
    Далее
  • Академия Эдюсон
    Node.js-разработчик
    8 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Frontend-разработчик + ИИ
    8 месяцев
    Далее
Решения вопроса 1
@abberati
frontend-разработчик
Обычные методы определены только у инстанса класса, их нет у самого класса. Чтобы вызвать такой метод, класс нужно инстанциировать.
const cart = new Cart()
await cart.fetch()


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

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

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