1、基本数据类型
- 字符串(String)
- 数字(Number)
- 布尔值(Boolean)
- 未定义(Undefined)
- 空(Null)
- 符号(Symbol是ES6引入的类型)
- 任意大整数(BigInt)
2、引用数据类型
对象(Object)包含:函数(Function)、数组(Array)、日期(Date)、正则(RegExp)等)
3、基本数据类型和引用数据类型的区别
比较 | 基本数据类型 | 引用数据类型 |
数据存放位置 | 存放在栈中,数据大小确定,内存空间大小自动可以分配 | 存放在堆中,每个大小不一样,要根据情况进行待定配置 |
变量存储内容 | 存储的是值本身 | 存储的是对象在内存中的地址 |
变量用来赋值时 | 把变量的值复制一份去赋值 | 把变量的内存地址复制一份去赋值 |
4、undefined和null的区别
相同点
- 转换为boolean值都是false
- 都是基本数据类型,保存在栈中
不同点
- 未定义(undefined)是变量被声明,但没有并赋值;空值(null)是有意设置的空值
- 两者转换为数字类型时,其值是不一样的,undefined转换为NaN(不是一个数字),而null转为0