string,number,boolean,null,undefine,symbol,BigInt(es10 新增) 一般大小固定,存储在栈内存当中
Array,Date,Object,Math,Function 一般大小不固定,存储在堆内存当中,多个引用指向同一个地址,直到没有任何引用的时候才会释放掉
检测除了 null 之外的基本类型
检测复杂类型即引用类型,根据判断改对象是否是原型链上的对象才确定是否是该类型,返回true false
toString 是 Object 的方法,返回的结果是[object Object],第二个就是我们需要的类型,对于 Object 对象,可以直接通过调用 toString 返回,对于其他对象,需要用 call 调用,才能返回正确的结果
ES5就已经出现,用于遍历对象的可枚举的属性,不含Symbol
遍历可迭代对象的属性,可以使用的范围包括数组、Set、Map、字符串等实现【Symbol.iterator】的对象
直接存储在栈(stack)中,占据空间小、大小固定,属于被频繁使用数据,所以放入栈中存储。
同时存储在栈(stack)和堆(heap)中,占据空间大、大小不固定。引用数据类型在栈中存储了指针,该指针指向堆中该实体的起始地址。当解释器寻找引用值时,会首先检索其在栈中的地址,取得地址后从堆中获得实体。