原始数据类型:
Number:表示数值,包括整数和浮点数(小数)
String:表示一个或多个字符
Boolean:表示true或者false
Null:只包含一个值null;表示一个空对象指针,这也是给 typeof 传一个 null 会返回 "Object" 的原因。
Underfined:表示未赋值或不存在的值。只包含一个值undefined;当使用 var或 let声明了变量切没有初始化时,就相当于给变量赋予了 undefined值。
Bigint:表示任意精度的整数。
Symbol:表示唯一的、不变的值,是ES6新出的一种数据类型,这种数据类型的特点就是没有重复的数据,可以作为object的key。
引用数据类型:
Function:函数是一种特殊的对象类型,可以被调用执行并返回结果,同时也可以作为参数传递给其他函数或对象。
Object:表示一个存储多个值的容器,可以包含其他数据类型的值和方法。
Array:数组是一种特殊的对象类型,用于存储一组有序的数据。它们可以包含各种数据类型的值,例如字符串、数字、对象等。
区别有哪些?
这两类主要区别在于,存储方式不同,简单数据类型只有一块存储空间,声明的变量会指向这个空间,在栈中存放的是具体的值,占用空间小;引用数据类型呢?他有两块存储空间,一个在栈中一个在堆中,栈中存放的是地址,通过这个地址指向堆中的内容。