typeofとinstance ofの比較
javascriptのtypeofとinstance ofはよく混同されます.ここで両者の違いを説明します.
typeofは演算子としてもいいし、関数としてもいいです.変数または値に対してtypeof演算子を呼び出すと、次の値の1つに戻ります.undefined-変数がUdefinedタイプのブーメランであれば、変数がBooleanタイプのnumberであれば、変数がNumberタイプのstring-変数がStringタイプのobjectであれば、変数が引用型またはNullタイプの例です.
typeofは演算子としてもいいし、関数としてもいいです.変数または値に対してtypeof演算子を呼び出すと、次の値の1つに戻ります.undefined-変数がUdefinedタイプのブーメランであれば、変数がBooleanタイプのnumberであれば、変数がNumberタイプのstring-変数がStringタイプのobjectであれば、変数が引用型またはNullタイプの例です.
var sTemp = "test string";
alert (typeof sTemp); // "string"
alert (typeof 86); // "number"
alert (typeof null); // "object"
instance ofはtypeofと同じで、演算子としても良いし、関数としても良いし、明確なオブジェクトタイプを検出するために使用されます.基本データタイプに対しては、instance ofはfalseを返します.例:var oStringObject = new String("hello world");
alert(oStringObject instanceof String); // "true"
alert(null instanceof Object); // "false"