1.typeof 对于基本类型,除了 null 都可以显示正确的类型
typeof 对于对象,除了函数都会显示 object
对于 null 来说,虽然它是基本类型,但是会显示 object,这是一个存在很久了的 Bug
如果我们想获得一个变量的正确类型,可以通过 Object.prototype.toString.call(xx)。这样我们就可以获得类似 [object Type] 的字符串。
另外关于undefined的判断
let a
// 我们也可以这样判断 undefined
a === undefined
// 但是 undefined 不是保留字,能够在低版本浏览器被赋值
let undefined = 1
// 这样判断就会出错
// 所以可以用下面的方式来判断,并且代码量更少
// 因为 void 后面随便跟上一个组成表达式
// 返回就是 undefined
a === void 0