js中分为两大类:基本类型和引用类型
基本类型一共6中:
string,symbol(什么是symbol),number,boolean,undefined,null
引用数据类型1种:
object
1. 基本类型(简单值)
简单值的数据是存储在栈区中(什么是栈)
注意:
typeof(null) = object
具体原因是因为不同的对象在底层都是表现为二进制,在js中二进制前三位都为0的话,会被判断为object,null的二进制全是为0,所以typeof值会返回object
null表示“无”的对象,转为数值时为0:
典型用法:
-
作为函数的参数,表示该函数的参数不是对象
-
作为对象原型链的终点
undefined表示“无”的原始值,转为数值为NaN
典型用法:
-
变量被声明了,但是没有值,就是undefined
-
调用函数时,应该提供的参数没有提供,该参数等于undefined
-
对象没有赋值的属性,该属性的值为undefined
-
函数没有返回值时,默认返回undefined
2、复杂值(引用值)
复杂值在内存中大小未知,所以数据都是存在堆去里