【小技巧】Object.prototype.toString.call(obj)檢測對象類型

使用 typeof 是沒法準確判斷一個對象變量的類型,null 的結果也是 object,數組的結果也是object。使用Object.prototype.toString.call(obj)才能準確判斷對象類型數組

Object.prototype.toString.call(123) //[object Number]
Object.prototype.toString.call('123') //[object String]
Object.prototype.toString.call(function(){});//[object Function]
Object.prototype.toString.call([]);//[object Array]
Object.prototype.toString.call(new Date);//[object Date]
Object.prototype.toString.call(/\d/);//[object RegExp]
Object.prototype.toString.call(true);//[object Boolean]
Object.prototype.toString.call(undefined);//[object Undefined]
Object.prototype.toString.call(null);//[object Null]
Object.prototype.toString.call({name: "ted"});//[object Object]
function A(){};
Object.prototype.toString.call(new A);//[object Object]
複製代碼
相關文章
相關標籤/搜索