Задать вопрос
@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 статическим такой ошибки не возникает.
  • Вопрос задан
  • 55 просмотров
Подписаться Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Бэкенд на Node.js для фронтенд-разработчиков
    3 месяца
    Далее
  • Skillbox
    Node.js
    2 месяца
    Далее
  • Stepik
    Microservices - паттерны и практика построения микросервисов
    1 неделя
    Далее
Решения вопроса 1
@abberati
frontend-разработчик
Обычные методы определены только у инстанса класса, их нет у самого класса. Чтобы вызвать такой метод, класс нужно инстанциировать.
const cart = new Cart()
await cart.fetch()


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

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

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