在JS中为我们提供了三个包装类,通过这三个包装类可以将基本数据类型的数据转换为对象.
- String():可以将基本数据类型字符串转换为String对象
- Number():可以将基本数据类型的数字转换为Number对象
- Boolean():可以将基本数据类型的布尔值转换为Boolean对象
var num = new Number(3);
var str = new String("abc");
var bool = new Boolean(true);
但是 注意:我们在实际应用中不会直接使用基本数据类型的对象,如果使用基本数据类型的对象,在做一些比较时可能会带来一些不可预期的结果。
那为什么还会有包装类呢
包装类是浏览器使用的,我们尽量不要直接使用。
应用场景如下:
- 方法和属性能添加给对象,不能添加给基本数据类型当我们对一些基本数据类型的值去调用属性和方法时,浏览器会临时使用包装类将其转换为对象,然后在调用对象的属性和方法。
- 调用完以后,在将其转换为基本数据类型
eg:
var s = 123;
s= s.toString();
console.log(typeof s);
输出:
string
==注意:==每次转化的对象不是同一个.
eg:
var s = 123;
s.hello = "你好";
console.log(s.hello);
输出:
undefined
这就是因为,第一次使用.hello转化的对象是对象1,第二次使用.hello转化的对象是对象2,
在对象1中添加的属性是不能再对象2中访问到的,所以输出undefine