ES6数据类型:
string、number、Boolean、null、undefined、object、symbol(Es6 新增加的)
基本数据类型(值类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)。
引用数据类型(对象类型):对象(Object)、数组(Array)、函数(Function)。
特殊的对象:正则(RegExp)和日期(Date)。
特殊类型:underfined 未定义、Null 空对象、Infinate 无穷、NAN 非数字
为了方便操作基本数据类型,js还提供了三个特殊的引用类型,String、Number、Boolean
基本包装类型就是把简单的数据类型包装成复杂的数据类型,这样基本数据类型就有属性和方法。
var str=’xxxxx‘;
console.log(str.length)
按道理基本数据类型是没有属性和方法的,而对象才有属性和方法,但上面代码可以运行,这是因为js会把基本数据类型包装为复杂的数据类型,其执行过程如下:
1.生成临时变量,把简单数据类型包装成复杂数据类型
var temp=new String(‘xxxx’)
2.赋值给我声明的字符串变量
str=temp;
3、立即销毁临时变量
temp=null。
实际上,每当我们对一个保存了基本类型值(比如number,string和boolean)的变量调用方法(或者访问属性)的时候,后台就会创建一个对应的基本包装类型的对象,对他们调用我们所指定的方法来得到我们想要的数据。
在这里插入图片描述