Здравствуйте,
Как работает экспорт классов?
Я экспортирую класс через module.exports
// class.js
const int = 123
class ClassName {
constructor(param) {
this.param = param
}
static staticMethod() {
console.log(this.param)
}
publicMethod() {
ClassName.staticMethod()
}
}
module.exports = new ClassName(int)
В приложении импортирую модуль
// app.js
const importClass = require('./class');
importClass.publicMethod()
В console.log
получаю undefined
Почему параметр не передается в класс?
При вызове конструктора: this
- это новый создаваемый объект.
Поэтому присваивая
this.param = param
В новый объект добавляется поле param.
Статический метод относится к классу и this
внутри него - это класс.
А так как у ClassName
нет поля param - в выводе ожидаемый undefined.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
ЗдравствуйтеКак на открытом в браузере сайте отобрать элементы? К примеру добавить кнопку перед картинкой что скачать её