js数据类型判断

42 阅读1分钟
  • 基本数据类型判断 typeof
console.log(typeof null) //object
console.log(typeof undefined) //undefined
console.log(typeof {}) //object
console.log(typeof []) //object
console.log(typeof (() => {})) //function
  • 复杂数据类型判断 instanceof
console.log(1 instanceof String) //false
console.log(false instanceof Boolean) //false
console.log({} instanceof Object) //true
console.log([] instanceof Object) //true
console.log([] instanceof Array) //true
console.log((() => {}) instanceof Object) //true
console.log((() => {}) instanceof Function) //true
  • 基本类型和复杂类型一起判断 Object.prototype.toString.call()
const getType = (val) => {
  const currentType = Object.prototype.toString.call(val);//[object String]
  return currentType.slice(8, -1).toLowerCase()
}
console.log(getType('123')) //string
  • null、undefined、 NaN
console.log(null === null) //true
console.log(undefined === undefined) //true
console.log(null == undefined) //true
console.log(null === undefined) //false
console.log(NaN == NaN) //false