javascriptタイプ判断コード分析

684 ワード

 
  
var is = function(obj,type){
var toString=Object.prototype.toString,undefined;
return obj===null&&type==='Null'||
obj===undefined&&type==='Undefined'||
toString.call(obj).slice(8,-1)===type;
}
// , ,
// undefined, , undefined.
ECMA-622の解釈によれば、Object.prototype.toString()は、オブジェクトのインスタンスの種類を返し、フォーム「[object]、class、and"」の文字列を返します.
ですから、sliceで「class」の値、つまりタイプの値を切り取ります.
nullとundefinedは例外です.彼らが帰ってきたのは
IE中[object Object]
標準ブラウザ[object Window]
だから単独で判断を下す.
関連記事:javascript深コピー