数据类型:
JS中的数据类型分为两种:基本数据类型和引用数据类型
基本数据类型:Number、Boolean、String、undefined、null、Symbol (es6中新增)
引用数据类型:Object、Array、Function、Date、RegExp 等
区别:
讲区别之前,需要先了解 堆( heap )和栈( stack ),堆和栈都是一种内存的分配方式
栈:在栈内存中,分配的内存空间是固定的,并由系统自动释放,遵守先进后出、后进先出的规则
堆:在堆内存中,动态分配内存,内存大小不一,也不会自动释放
基本数据类型的值比较单一,如123、'abc'、true、undefined、null等,有固定的内存空间,所以存在栈内存中
引用数据类型的值比较多样化,如对象和数组,会随时增删改,内存大小不固定,所以存在堆内存中,但是引用数据类型的地址指针存在栈内存中,通过栈内存中的地址指针,找到堆内存的值