乐趣区

关于javascript:JavaScript中的类型判断方法全

JavaScript 中的类型判断办法(全)

js 中的数据类型

根本数据类型:Undefined、Null、Boolean、Number、String,Symbol
援用数据类型:Object

一般而言,咱们还须要额定判断一下是 Array 类型还是 Object

明天就专门整顿了下,上面用表格做一个比照

数据 typeof instanceof constructor Object.prototype.toString.call
const und = undefined ‘undefined’ undefined instanceof Object // false 无该属性 Object.prototype.toString.call(und) //[object Undefined]
const nul = null ‘object’ null instanceof Object // false 无该属性 Object.prototype.toString.call(nul) //[object Null]
const bool = false ‘boolean’ false instanceof Boolean // false bol.constructor === Boolean // true Object.prototype.toString.call(bool) //[object Boolean]
const num = 1 ‘number’ 1 instanceof Number // false num.constructor === Number // true Object.prototype.toString.call(num) //[object Number]
const str = ‘test’ ‘string’ ‘test’ instanceof String // false str.constructor === String // true Object.prototype.toString.call(str) //[object String]
const sym = Symbol() ‘symbol’ sym instanceof Symbol // false sym.constructor === Symbol // true Object.prototype.toString.call(sym) //[object Symbol]
const obj = {param:1} ‘object’ obj instanceof Object // true obj.constructor === Object // true Object.prototype.toString.call(obj) //[object Object]
const arr = [1,2,3] ‘object’ [1] instanceof Object //true arr.constructor === Array // true Object.prototype.toString.call(arr) //[object Array]
总结 无奈辨别数组 对象和 null 无奈辨认根本数据类型 仍然不能判断所有类型 能够适当封装用于数据类型判断

当然,不同场景应用不同的判断办法。简略类型的判断,应用 typeof 即可(null 的问题属于历史遗留),针对 array 和 object 再作进一步辨别即可(能够应用 Array.isArray())

退出移动版