对于javascript,基本数据类型(如Number、String、Boolean、Symbol、Undefined、Null等)是没有属性和方法的,而js的包装类型是为了方便去操作基本类型,引用数据类型(如Object、Array、Function)是可变的。
var str = 'Tom';
str.age = 18;
console.log(str.age); //undefined
str是一个String数据类型,它并没有可以添加属性的功能,这时可以把它变成一个引用数据类型Object就可以添加新的属性。
var str = new String('Tom'); //使用new创建String对象的引用数据类型的,这就是js的包装类型
str.age = 18;
console.log(str.age); //18
使用new创建String对象的引用数据类型的,这就是js的包装类型。