js 的变量类型
- 基本类型:number、string、boolean、null、undefined
- 其他类型:object(其中 Array 也是 object 的类型)
变量的类型判断
- typeof 进行判断
typeof 对基本的数据类型以及函数进行判断,对数组以及对象不适用
typeof(1) // number
typeof("hello") // string
typeof(true) // boolean
typeof(undefined) // undefined
typeof(null) // object
typeof([1]) // object
typeof({"1":"one"}) // object
typeof(()=>{}) // function
typeof(NaN) // number
- instanceof 进行判断
instanceof 是判断检查对象是否是构造函数的实例
const a = [];
const b = {};
const c = () => {}
a instanceof object // true
a instanceof Array // true
a instanceof Function // false
b instanceof object // true
b instanceof Array // false
b instanceof Function // false
c instanceof object // true
c instanceof Array // false
c instanceof Function // true
NaN instanceof object // false
NaN instanceof Array // false
NaN instanceof Function // false
null instanceof object // false
null instanceof Array // false
null instanceof Function // false
- Object.prototype.toString.call()
Object.prototype.toString.call([]) // "[object Array]"
Object.prototype.toString.call({}) // "[object Object]"
Object.prototype.toString.call(()=>{}) // "[object Function]"
Object.prototype.toString.call(1) // "[object Number]"
Object.prototype.toString.call("hello") // "[object String]"
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(NaN) // "[object Number]"
判断当前值是否是NaN
大家想到办法了吗?😀😀😀
function isNaN (param) {
return param !== param
}
isNaN(NaN) // true
ps: 大家记着在js中,只有NaN不等于自身。
结语
js的基本数据类型以及类型判断,请大家观摩。后续关于JavaScript的基本类型相关的会继续更新到此贴中。希望能对有缘进来看帖的小伙伴有帮助。