一、JS的数据类型有 8种(基本数据类型+复杂数据类型)
1.基本类型(单类型): String、Number、boolean、null、undefined、symbol、bigint。
2.引用类型:object。里面包含的 function、Array、Date。
( Symbol: 对象值唯一,即始创建的时候传入相同的值,可以解决属性名冲突的问题,做为标记。)
二、基本数据类型、复杂数据类型在内存中的存储
1.简单数据类型在内存中存在栈内存中,每个被声明的简单数据类型都有他自己的一块内存空间。
2.复杂数据类型在内存中的声明存放在栈内存中,但是存放的是一个地址,这个地址指向堆内存,堆内存存的是复杂数据类型的数据。
3.复杂数据类型在内存中的存储,地址(栈)指向堆(对象),所以赋值操作都会指向同一个对象,当一个对象改变后,会影响到原来的对象。
简单说一下,
堆存的是块(也就是对象属性)
栈存的是基础类型数据,以及指向堆的内存地址