包装类
包装类的结束
js中的数据类型包括以下几种类型。
-
基本数据类型:String、Number、Boolean、Null、Undefined
-
引用数据类型:Object
JS为我们提供了三个包装类: -
String{}:将基本数据类型字符串,转换为String对象。
-
Number{}:将基本数据类型的数字,转换为Number对象。
-
Boolean{}:将基本数据类型的布尔值,转换为Boolean对象。
通过上面这三个包装类,就可以将基本数据类型的数据转换为对象。
代码举例:
在这里插入代码片
需要注意的是:我们在实际应用中不会使用基本数据类型的对象,如果使用基本数据类型的对象,在做一些比较时可能会带来一些不可预测的结果。
例如:
var c = new Boolean(true)//内存地址
var d = new Boolean(true)
console.log(c === d)
打印结果:
变量c 和 变量d 存放的内存地址不一样,因此他们不相等。
例子2:
var bool = new Boolean(false);
if(bool){
console.log("你好")//代码竟然运行成功
}
打印结果:
基本数据类型不能添加属性和方法
方法和属性只能添加给对象,不能添加给基本数据类型。
注意:当我们对一些基本数据类型的值去调用属性和方法时,浏览器会临时使用包装类将其转换为对象,然后在调用对象的属性和方法;调用完以后,再将其转换为基本数据类型。
举例:
var str = 123;
str = str.toString();//将number类型转换为string类型
str.hello = "好好学习,天天向上"//添加属性
console.log(typeof str)
console.log(str.hello)
打印结果:
console.log(str.hello) 的打印结果为undefined说明基本数据类型不能添加属性和方法