Javascript基础

JS 数据类型判断方式总结

2018-09-06  本文已影响6人  weqwqwqwe121312

typeof

注意typeof可以判断基本类型,无法判断对象的类型或者null

instanceof

语法:variable instanceof constructor

如果变量是引用类型,可以使用instanceof判断,检测基本类型时,会返回false。

原理:判断变量的原型链上是否有构造函数的prototype属性

如:

// 判断person是否是object类型对象
person instanceof Object

注意:空对象{}的判断问题

let obj1 = {}
console.log(obj1 instanceof Object) // true

let obj2 = Object.create(null)
console.log(obj2 instanceof Object) // false

let obj3 = Object.create({})
console.log(obj3 instanceof Object) // true

Object.prototype.toString

所有的数据类型都可以使用此方法进行检测,且非常精准。
如:

let obj = {}
Object.prototype.toString.call(obj) === '[object Object]'

总结

上一篇 下一篇

猜你喜欢

热点阅读