判斷一個數據的型別
阿新 • • 發佈:2022-03-03
1⃣️.typeof 運算子號
缺點:typeof檢測null的時候也會返回Object
2⃣️.instanceof運算子
優點:彌補了typeof不能具體檢測屬於哪個物件的侷限性
缺點:不能用來檢測和處理字面量方式創建出來的基本資料型別,即原始資料型別
function checkIsInstanceOf(obj,type){ let proto = Object.getPrototypeOf(obj) while(proto!=null){ if(proto===type.prototype){ return true } proto = Object.getPrototypeOf(obj) } return false }
3⃣️.constructor建構函式
優點:作用和instanceof相同,可以處理引用型別還能處理原始資料型別
使用constructor的時候最好加上(),放置js把它當成小數
(1).constructor === Number
缺點:由於是函式原型上面的屬性,類的原型進行重寫後,可能導致判斷不準確
4⃣️.Object.prototype.toString.call()方法
Object.prototype.toString返回當前方法的執行體所屬類的詳細資訊
返回結果如:[object Number]