instanceof演算子とは、左のオペランド(演算子引数)に指定したオブジェクトが、右のオペランド(演算子引数)に指定したクラスのインスタンスかどうかを調べる演算子。
指定したオブジェクトが、指定したクラスのインスタンスである場合、「真(true)」を返す。
指定したオブジェクトが、指定したクラスのインスタンスでない場合、「偽(false)」を返す。
構文
オブジェクト名 instanceof クラス名
「オブジェクト名」のオブジェクトが、「クラス名」のクラスのインスタンスかどうかを調べる。
「オブジェクト名」のオブジェクトが、「クラス名」のクラスのインスタンスである場合、「真(true)」を返す。
「オブジェクト名」のオブジェクトが、「クラス名」のクラスのインスタンスでない場合、「偽(false)」を返す。
サンプル1
<script type="text/javascript">
var currentTime = new Date();
document . write( currentTime , "<br />" );
document . write( currentTime instanceof Date , "<br />" );
document . write( currentTime instanceof Object , "<br />" );
document . write( currentTime instanceof String , "<br />" );
</script>
var currentTime = new Date();
document . write( currentTime , "<br />" );
document . write( currentTime instanceof Date , "<br />" );
document . write( currentTime instanceof Object , "<br />" );
document . write( currentTime instanceof String , "<br />" );
</script>
↓↓↓出力結果↓↓↓
サンプル2
<script type="text/javascript">
function color( colorName, colorNameHiragana, colorNameKanji ){
this . colorName = colorName;
this . colorNameHiragana = colorNameHiragana;
this . colorNameKanji = colorNameKanji;
}
var red = new color( "Red", "あか", "赤" );
document . write( red instanceof color , "<br />" );
document . write( red instanceof Object , "<br />" );
document . write( red instanceof Date , "<br />" );
</script>
function color( colorName, colorNameHiragana, colorNameKanji ){
this . colorName = colorName;
this . colorNameHiragana = colorNameHiragana;
this . colorNameKanji = colorNameKanji;
}
var red = new color( "Red", "あか", "赤" );
document . write( red instanceof color , "<br />" );
document . write( red instanceof Object , "<br />" );
document . write( red instanceof Date , "<br />" );
</script>
↓↓↓出力結果↓↓↓