1. 基本类型
- Undefined、Null、Boolean、Number、String Symbol
2. 引用类型
- Object,Array,function
3. 基本类型和引用类型的区别
首先咱们先了解下堆和栈
栈是自动分配的内存空间,它由系统对象自动释放, 而堆则是动态分配的内存,大小也不一定会自动释放
- 基本数据类型存放在栈中,访问的时候是按值进行访问的,基本类型的值是不可变的
-
基本类型的比较是它们的值的比较
== 两个等号进行比较时会进行隐式转换,将类型也转换为相同
=== 判断类型和值是否相等
-
引用类型的值按引用访问的,引用类型的值是可变的,是存放在堆中
var b = {};
var c = b;
c.name = '张三';
console.log(b.name); //张三
console.log(c.name); //张三
- 引用类型的值的比较是引用的比较
var a = {};
var b = {};
console.log(a == b); //false
console.log(a === b); //false