型を調べる

typeof演算子

プリミティブ型の型名を取得する。

 if (typeof(foo) == "boolean" ) {
   ...
 }
  • string
  • number
  • boolean
  • function
  • object
  • undefined
 typeof [1, 2, 3]     // => "object"
 typeof parseInt("a") // => "number"

instanceof演算子

 var obj = {};
 var arr = [];
 
 obj instanceof Object // => true
 obj instanceof Array  // => false
 
 arr instanceof Object // => true
 arr instanceof Array  // => true

constructor.toString()

以下のようなオブジェクトがあるとして、

 function Foo(v){ this.v = v; };
 foo = new Foo();
 bar = { BAR: 1 };

typeof演算子の結果はobjectしか分からない。

 typeof foo // => "object"
 typeof bar // => "object"

その詳細を知るには以下のようにconstructor.toString()を使う。

 foo.constructor.toString(); // => "function Foo(v){ this.v = v; }"
  
 bar.constructor.toString(); // => "function Object() { [native code] }

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2012-02-08 (水) 17:41:48