3

Typescript のクラスがあるとします。

class MyAnimal {

   constructor(param1, param2) {
       voice: param1;
       height: param2;
   }
}

オブジェクトを使用するときにこれらのプロパティにアクセスできるように、実際にクラスを構築するにはどうすればよいですか。

var gorilla = new MyAnimal(param1, param2);

上記はコンパイルエラーになります:Error TS2094: "The property voice does not exist on value of type 'MyAnimal'."

これをjavascriptから変換しましたが、正常に機能していましたが、次のようになりました。

var MyAnimal = function (param1, param2) {
    return {
        voice: param1,
        height: param2,
    }
}

それで、私は一日中プロパティにアクセスできました

var gorilla = MyAnimal(param1, param2);
if (gorilla.height < 5)
    alert("It's a baby gorilla!");

私は Typescript/javascript にかなり慣れていないので、まだ理解しようとしていることがたくさんあります。プロパティにアクセスするのはそれほど難しくないと思います。間違ってアクセスしようとしているだけの疑いがあります。

クラスを間違って構築しているだけですか?のインスタンスを新しく作成したときにプロパティを取得できないのはなぜMyAnimalですか?

4

2 に答える 2