У меня была аналогичная ошибка, и моя проблема заключалась в том, что имя и регистр имени переменной и имени конструктора были идентичны, что не работает, поскольку javascript интерпретирует предполагаемый конструктор как новую созданную переменную.
Другими словами:
function project(name){
this.name = name;
}
//elsewhere...
//this is no good! name/case are identical so javascript barfs.
let project = new project('My Project');
Простое изменение имени или имени переменной устраняет проблему:
//with a capital 'P'
function Project(name){
this.name = name;
}
//elsewhere...
//works! class name/case is dissimilar to variable name
let project = new Project('My Project');