この Typescript が「[クラス] はコンストラクターではありません」と出力するのはなぜですか? 質問する

この Typescript が「[クラス] はコンストラクターではありません」と出力するのはなぜですか? 質問する

私は Visual Studio で TypeScript 1.5 を使っています。app.ts というメイン クラスと、FizzBu​​zzManager.ts という別のクラスがあります。このコードのどこが間違っているのかわかりませんが、"TypeError: jim.FizzBu​​zzManager is not a constructor" というエラーが出力されます。

アプリ

 namespace jim {
    class Greeter {
        element: HTMLElement;
        span: HTMLElement;
        timerToken: number;

        constructor() {
            window.console.log("constructing Greeter.");
            this.init();
        }

        private init() {
            window.console.log("Calling init.");
            var _fizzBuzzManager: any = new jim.FizzBuzzManager();
    }

}

    window.onload = () => {
        window.console.log("Hello")
        var greeter = new Greeter();

};

FizzBu​​zzManager.ts

namespace jim {

export class FizzBuzzManager {

    constructor() {
        window.console.log("Making a FizzBuzzManager.");
    }

    public myThing: String = "Hi";

    public fizzBuzz2() {
        window.console.log("fizzbuzzing2 " + this.myThing);
    }

}

export function fizzBuzz() {
    window.console.log("export function fizzbuzz");
}

}

コンパイルされた出力をブラウザで見ると、出力は次のようになります。

Hello                                                  app.js:15:9 
constructing Greeter.                                  app.js:5:13 
Calling init.                                          app.js:9:13 
TypeError: jim.FizzBuzzManager is not a constructor    app.js:10:36

ベストアンサー1

TypeError: jim.FizzBu​​zzManager はコンストラクタではありません

これは、以下を使用する場合によく発生するエラーです--out:https://basarat.gitbook.io/typescript/main-1/outfile

ファイルを正しい順序でロードするのはあなたの責任です. out を使用せず、外部モジュールを使用してください。

おすすめ記事