js的类型实际上是一个基本问题,但它总能在一些小的细节上给人困扰,这次就一口气把这个问题好好解决了
参考资料
js类型详解
js分为基本类型和引用类型
基本类型
基本类型一共5种
1.Undefined
使用var声明变量时,如果没有对其赋值就引用它就会产生undefined值
1 | var a |
2.Null
从逻辑上说,null值表示一个空对象指针,这也正是使用typeof来检测null会返回object的原因
1 | console.log(typeof(null)) // -> 'object' |
3.boolean
4.number
5.string
引用类型
Object类型
Array类型
Date类型
RegExp类型
Function类型
Symbol类型(es6新加)
基本包装类型
ECMAScript提供了3种特殊的引用类型 Boolean,Number,String.也就是是它们三个实际上都是function的实例罢辽
1 | let a = "a" |
特殊情况
1.NaN的类型
1 | console.log(typeof(NaN)) |
2.Undefined和Null
null表示此处不该有值,undefined表示此处应该有值
1 | console.log(undefined == null) |
3.== 和 === 的区别
Show code
1 | 100 == "100" // -> true |
3.1 === 判断规则
首先要等号两边类型相同,然后才是值相同
3.2 == 判断规则
- 如果两边存在boolean,string,number任意两者进行比较,优先转化为数字
- null == undefined