オブジェクト種別判断 ~ JavaScript によるオブジェクト指向プログラミング
あるオブジェクトが特定のクラスのオブジェクトであるかどうか判断するには instanceof オペレータを使います。 (もうひとつの方法は プロトタイプ・チェーン中のオブジェクト確認 isPrototypeOf を見てください)
似たものに、typeof というのもありますが、typeof ではいつも "object" とだけ返してくるので、 あまりオブジェクトの種別判断には役に立ちません。typeof は string か number か、などを判断するのに使います。
デモは次の通り。
function Person(name) { this.name = name; } Person.prototype.say_hello = function() { alert( this.name ); } var p1 = new Person('Ichiro Suzuki'); alert( typeof( p1 ) ); // → 'object' を返す alert( p1 instanceof Object ); // → true (全て Object には違いない) alert( p1 instanceof Person ); // → true (定義した通り) alert( p1 instanceof String ); // → false (Object だけど String ではない)
JavaScript によるオブジェクト指向プログラミング 目次 | >> プロトタイプ・チェーン中のオブジェクト確認 isPrototypeOf