一)数据类型分类
- 原始类型:数值,字符串,布尔值,Symbol,bigInt
- 合成类型:对象 【狭义的对象、数组、函数】
- 特殊值:undefined,null
二)判断方法
- typeof运算符 —— 区分原始类型
- instanceof运算符 —— 区分数组和对象
- === —— 区分 undefined与null
typeof: 返回数据类型的字符串表达式,首字母大写
* 可以判断: undefined/ 数值 / 字符串 / 布尔值 / function
* 不能判断: null与object array与object
instanceof:
* 判断对象的具体类型
===
* 可以判断: undefined, null
let a
console.log(typeof a === 'undefined')
a = 4
console.log(typeof a === 'number' )
a = '4'
console.log(typeof a === 'string')
a = true
console.log(typeof a === 'boolean')
let b1 = {
b2: [1, 'abc', console.log],
b3: function () {
console.log('b3')
return function () {
return 'xfzhang'
}
}
}
console.log(typeof b1.b3 === 'function')
console.log(b1 instanceof Object, b1 instanceof Array)
console.log(b1.b2 instanceof Array, b1.b2 instanceof Object)
console.log(b1.b3 instanceof Function, b1.b3 instanceof Object)