JavaScriptにおいて、引数として与えられた値の型を調べることのできるtypeof演算子というものがあります。このtypeof演算子は判定できる型が限られているようです。
以下のエントリのコメント欄で知りました。
リファレンスを見てみると、以下の型以外は、objectと返す仕様になっているようです。
以下、Firefox3.6の環境で実行してみました。
undefined
var a = undefined; alert(typeof a); >>undefined
null
var a = null; alert(typeof a); >>object
boolean
var a = true; alert(typeof a); >>boolean
number
var a = 0; alert(typeof a); >>number
string
var a = "hoge"; alert(typeof a); >>string
function
var a = function() {} alert(typeof a); >>function
array
var a = new Array() alert(typeof a); >>object
関連するエントリ
*1:Hostオブジェクトは、実装によって返す値が異なります。Hostオブジェクトとは、言語仕様では定義されていなくて、ブラウザごとの実装が提供するオブジェクトのことを指すらしいです。windowやXMLHttpRequestなど。