javascript的装箱和拆箱

1.装箱

在JavaScript里面有个引用类型叫做基本包装类型,它包括String、Number和Boolean。对应的基本数据类型是String、Number和Boolean。

所谓的装箱,是指将基本数据类型转换为对应的引用类型的操作。而装箱又分为隐式装箱和显式装箱。

1.隐式装箱

let str = 'text';
str.indexOf('e');

上面代码的实际执行逻辑为:

  • 1、创建String类型的一个实例;
  • 2、在实例中调用制定的方法;
  • 3、销毁这个实例。
    转化为代码为:
let str = new String('test');
str.indexOf('e');
str = null

当我们在调用基本数据类型的方法时,js会自动为我们创建于该基本数据类型值相同的包装类型,在包装类型的原型链上有很多可用的方法,js会调用原型链上的方法返回执行结果。

2.显示装箱

显示装箱顾名思义就是手动创建包装类型

let str = new String('test')

如此创建了该实例对象后,我们就可以显式使用其原型链上的方法,而且由于是我们手动创建的对象,所以他会一直此存在于内存当中,不会被销毁。

2.拆箱

拆箱就是将引用类型转换为基本数据类型,拆箱的方法有两个valueOf()和toString(),一下为在chrome浏览器中的测试结果。

chome浏览器测试
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容