【红宝书】原始值包装类型

204 阅读1分钟

基本包装类型(原始值包装类型)

目的

为了更方便操作原始值,ECMAScript提供了三种特殊的引用类型:Boolean、Number、String。这三个特殊的引用类型具有于引用类型一样的特点,也具有原始类型对应的特殊行为。

行为

每当用到某个原始值的方法或属性时,后台都会创建一个相应的原始包装类型的对象,从而暴露出操作原始值的各种方法。

Image11.png

区别

引用类型和原始值包装类型的主要区别在于对象的生命周期。

  • 引用类型在通过new实例化之后,得到的实例会在离开作用域时被销毁
  • 自动创建的原始值包装对象则只存在于访问它的那行代码执行期间。这意味着不能在运行期间给原始值添加属性或方法

Image12.png

类型

object构造函数作为一个工厂方法,能够根据传入值的类型返回相应原始包装类型的实例。

Image13.png

Image14.png

使用new调用原始包装类型的构造函数,与调用同名的转型函数不一样

Image15.png

Image16.png