typeofとinstance ofの比較


javascriptのtypeofとinstance ofはよく混同されます.ここで両者の違いを説明します.
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"