JS数据类型总结及比较
js的基本数据类型:string,boolean,number,null,undefined,symbol(ES6)
引用数据类型:Object
判断基本数据类型:typeof ,需要注意的是null返回Object
判断引用类型:instanceof ,判断对象的原型 任何function 和 Object都有一个原型Object
共通的方法
Object.prototype.toString.call(需要检测的数据)
- Object.prototype.toString.call(1): [object Number]
- Object.prototype.toString.call(NaN): [object Number]
- Object.prototype.toString.call("1"): [object String]
- Object.prototype.toString.call(true): [object Boolean]
- Object.prototype.toString.call(null): [object Null]
- Object.prototype.toString.call(undefined): [object Undefined]
- Object.prototype.toString.call({}): [object Object]
- Object.prototype.toString.call({a: "a"}): [object Object]
- Object.prototype.toString.call(console.log): [object Function]
这里除了对NaN的判断其他都符合预测
对于NaN的判断
isNaN(v)
(new Set([NaN, v])).size