我们说的js中一切皆对象,这句话听起来十分牛逼,但其实是错误的。js中一共有6中主要类型
string、number、boolean、null、undefined、object
其中前5中都是基本类型,基本类型本身并不是对象,那为什么typeOf(null)=='object'?原因如下
在js底层,不同的对象都被表示为二进制,在js中二进制前3位都为0的话会被判定为object类型,而null的二进制表示全是0,所以执行typeOf时会返回'object'
我们说的js中一切皆对象,这句话听起来十分牛逼,但其实是错误的。js中一共有6中主要类型
string、number、boolean、null、undefined、object
其中前5中都是基本类型,基本类型本身并不是对象,那为什么typeOf(null)=='object'?原因如下
在js底层,不同的对象都被表示为二进制,在js中二进制前3位都为0的话会被判定为object类型,而null的二进制表示全是0,所以执行typeOf时会返回'object'