值的类型

53 阅读1分钟

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、复杂值(引用值)

复杂值在内存中大小未知,所以数据都是存在堆去里