如何在JavaScript中检测数组中的对象是什么类

时间:2013-05-08 22:52:16

标签: javascript oop class iteration

我正在使用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]中检测元素的类?我的后备解决方案是给每个对象一个“类型”字段。

1 个答案:

答案 0 :(得分:2)

这可能取决于您如何设置继承,但通常使用instanceof operator检查:

if(pieces[i] instanceof Rook) // ...