包装类
String()、Number()、Boolean()
String()
可以将基本数据类型的字符串转换为String对象
var string = new String("hello");
console.log(typeof string);
Number()
可以将基本数据类型的数字转换为Number对象
var num = new Number(3);
console.log(typeof num);
Boolean()
可以将基本数据类型的布尔值转换为Boolean对象
var bool = new Boolean(true);
console.log(typeof bool);
在实际运用中基本不会使用基本数据类型对象, 因为比较时会出现不可预料的情况
例如:
var b = new Boolean(true);
if(b){
alert("我运行了~~~");
}
var b1 = new Boolean(false);
if(b1){
alert("我运行了~~~");
}
// 以上两则都会运行,因为b和b1都是对象,对象转化为布尔值时都是true(null除外)
方法和属性只能添加给对象,不能添加给基本数据类型,当我们用一些基本数据类型去调用属性和方法时,浏览器会临时使用包装类将其转换为对象,然后再调用对象的属性和方法, 调用后会销毁此对象
var s = 123;
s = s.toString();
console.log(typeof s); // "string"