1

JavaScript で高度なオブジェクト指向プロジェクトに取り組んでいます。さまざまなクラスのオブジェクトの配列 [] があり、それを反復処理しています。配列 [i] でオブジェクトのクラスを確認したいと考えています。これを検出する方法はありますか?これは、私の言いたいことを理解するのに役立つかもしれません:

var pieces = [new Pawn(), new Rook(), new Knight()];
for(var i = 0; i < pieces.length; i++){
    if(pieces[i] == Rook){
        //Do something with the rook
    }
}

これは、私が何をする必要があるかについての一般的な考え方ですが、if 条件は少し注意が必要です。ピース[i]で要素のクラスを検出するにはどうすればよいですか? 私の代替ソリューションは、すべてのオブジェクトに「タイプ」フィールドを与えることです。

4

1 に答える 1

2

これは、継承の設定方法によって異なりますが、一般的にはinstanceofoperatorで確認します。

if(pieces[i] instanceof Rook) // ...
于 2013-05-08T22:54:44.887 に答える