先上代碼
typeof 1 === true ? 1 : 0
控制檯打印能夠看到答案是0,由於typeof先進行計算。若是改爲下面這樣:
typeof(1 === true ? 1 : 0)
答案則是number數組
typeof運算符自己只會返回字符串,code
1. undefined 2. boolean 3. string 4. number 5. object 6. function
typeof來判斷數據類型會有幾個坑:對象
var obj = null; if (typeof obj === 'object') { obj.a(); // 報錯 }
var obj = {}; var num = parseInt(obj.a); if (typeof num === 'number') { num = num + 10; // 執行後num仍是NaN }
var obj = {}; var arr = []; var reg = /abc/g; console.log(typeof obj); console.log(typeof arr); console.log(typeof reg);