数据类型&判断
- JavaScript中的数据类型总体可以分为两大类:基本(值)数据类型,引用(对象)类型.
- 基本数据类型有:Number,String,Boolean,undefined,null
- 对象类型有:Object(任意类型),Array(有序的数据,有下标),Function(可执行的对象)
数据类型的判断方式
- JavaScript中对数据类型做判断有三种方式
关键字 | 语法 | 说明 |
---|---|---|
typeof | typeof 变量名 | typeof返回的是数据类型的字符串表达式,例如 typeof ‘a’ 返回的是’string’,是String类型的字符串表达式,并且所有的数据类型表达式都是小写字母 |
instanceof | 变量A instanceof 变量B | instanceof关键字是专门用来判断对象类型的 Object,Array,Function |
=== | 变量A === 变量B | 三个等号(===)和两个等号(==),在使用时的区别是,三个等号在比较的时候不会进行数据类型转换,而两个等号在进行比较的时候会先进性数据类型转换 |
示例
- typeof判断数据类型
- typeof返回的都是数据类型的字符串表达式,并且都是小写字母,例如string,undefined,number,boolean
var a // 此时a还未被赋值,所以为 undefined
console.log(typeof a) // 输出字符串 'undefined'
console.log(typeof a === 'undefined') // 输出true
- typeof 无法判断 null和Object 类型,因为null也属于Object使用typeof输出null或者object变量的数据类型字符串都会输出’object’
var b = null
console.log(typeof b ) // 输出object
console.log(typeof b === 'null') // 输出false
console.log(typeof b === 'object') // 输出true
- instanceof判断数据类型
var objectVar = {name:'xiemaoshu',account:[1,2,3,4,5,6,7],info:function(){console.log(this.name,this.account)}}
console.log(objectVar instanceof Object)
console.log(objectVar.account instanceof Array)
console.log(objectVar.info instanceof Function)
3. === 数据类型判断
var undefinedVar
var nullVar = null
console.log(undefinedVar === undefined)
console.log(nullVar === null)