数据 – 基本类型
Undefined , Null , String , Number , Boolean , Symbol (ES 6) ,
基本数据类型存储在栈内存中。
数据 – 引用类型
Object , Array , Date , RegExp , Function ,统称且从根本意义上为 Object
引用数据类型存储在堆内存中。
内存 – 堆、栈、池
栈内存 (Stack):存放变量,Stack在内存中自动分配内存空间。
堆内存 (Heap):存放复杂对象,Heap在内存中动态分配内存空间。
常量池:存放常量。
基本数据类型的存储方式:
每个内存空间有8字节,假设变量长度小于8个字节,则Stack自动分配一个内存空间给变量,否则分配多个,由于栈是由顶至下的存储方式,如下图。所以当变量a占用16字节,则编译器向Stack申请两个内存空间自动分配给变量a,“ 2021 ” 存储该内存空间的两个内存空间被 “ a ” 指向,如上图。