Объект не конструктор

Я пытаюсь создать объект в javavscript, а затем инициализировать его в другом файле. Кажется, я не понимаю проблемы, хотя мне все кажется правильным. Ниже мой код

    class Account {
       constructor(account_id, official_name, name, subtype, type, balances) {
    this.account_id = account_id;
    this.official_name = official_name;
    this.name = name;
    this.subtype = subtype;
    this.type = type;
    this.balances = balances;
  }
}
module.exports = Account;

и вот как я это создаю:

 const { Account } = require('../../model/account');
const {
      account_id, name, official_name, subtype, type, balances
    } = accounts[key];
    const account = new Account(account_id, official_name, name, subtype, type, balances);

и ошибка:

TypeError: Account is not a constructor

Что мне здесь не хватает?

Вы используете module.exports, попробуйте const Account = require('../../model/account');

Andy 10.01.2019 22:17
module.exports = Account; означает, что вы должны импортировать const Account = require(...), а не const { Account } = require(...). Если вы хотите экспортировать Account по имени, используйте вместо этого exports.Account = Account.
Patrick Roberts 10.01.2019 22:17

Сейчас он работает. Спасибо, ребята, теперь я понимаю разницу.

J.D 10.01.2019 22:23
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
722
1

Ответы 1

Итак, как объяснил Патрик Робертс в комментариях, либо

module.exports.Account = Account
const { Account } = require('../../model/account')

или

module.exports = Account
const Account = require('../../model/account')

Другие вопросы по теме