浅析为什么a="abc" 不等于 a=new String("abc")

前端之家收集整理的这篇文章主要介绍了浅析为什么a="abc" 不等于 a=new String("abc")前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

显而易见

但是为什么呢?看了很多书,问了好几个大神,其实自己还是稀里糊涂的。这里记录一下,备查。

在js中,区分原始资料类型和包装类型。数字、字符串、布尔、null、undefined 属于原始资料类型,而Number、String、Boolean属于包装类型,通过new Number 创建的是包装类型的派生对象。所以两者是不等的。

直接赋值为基本类型之后的使用过程如下:

1、创建String类型的一个实例

2、在实例上调用指定的方法

3、销毁实例

举例:

这里还有一种说法:装箱,拆箱

装箱,就是用这个值类构造一个相应的包装对象

装箱的最大作用是将值作为对象来处理。

拆箱,是包装对象转换成值类型

总结

以上所述是小编给大家介绍的为什么a="abc" 不等于 a=new String("abc")。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持

猜你在找的JavaScript相关文章