Задать вопрос

Почему появляется is not a constructor?

Всем привет! Ребята, пытаюсь написать простенькую игру на TypeScript и... застрял уже в самом начале.
Есть примерно такой код (3 разных файла):
window.onload = () => {
    var g: Tower.Weapon;
    g = new Tower.MachineGun();

};

module Tower {
    export class Weapon {
    }
}

module Tower {
    export class MachineGun extends Weapon {

    }
}


В общем простейшее наследование. Класс MachineGun расширяет класс Weapon... И в App.ts создаётся экземпляр этого класса.
Ну и... код не выполняется. В консоли браузера вылазит TypeError: Tower.MachineGun is not a constructor.
Я, конечно, не очень хорошо разбираюсь в JS... в общем, подскажите, если кто знает...
  • Вопрос задан
  • 8575 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Alexey_Gagarin Автор вопроса
Кажется. разобрался сам. В настройках проекта я поставил галку, чтобы собирать все TS файлы в один JS. При этом, почему-то, не всегда соблюдается правильный порядок следования скриптов в файле...Объявление MachineGun оказывается раньше, чем Weapon. отсюда ошибка... Добавил в MachineGun.ts /// и вроде заработало...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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