基本类型对应的内置对象,以及他们之间的装箱拆箱操作

239 阅读1分钟

内置对象

内置对象

  • Object是JS中所有对象的父对象
  • 数据封装类对象:Object Array Boolean Number String
  • 其他对象:Function Math Date RegExp Error

特殊的基本包装类型

String Number Boolean

arguments

只存在函数内部的一个类数组对象

装箱和拆箱

装箱

把基本数据类型转换为对应的引用数据类型的操作称为装箱,可以分为隐式装箱和显式装箱。

隐式装箱

每当读取一个基本类型的时候,后台就会创建一个对应的基本包装类型对象,从而让我们能够调用一些方法来操作这些数据。 ——《JavaScript高级程序设计》

let a='sun'
let b=a.indexOf('s')
//上述代码在后台实际的步骤为
let a=new String('sun')
let b=a.indexOf('s')
a=null

上述代码中,a是基本数据类型,不是对象,不应该具有方法,JS内部进行了装箱操作,使得它能够调用方法。执行完相应的方法之后立即被销毁。

拆箱

将引用数据类型转换为基本数据类型,通过valueOf()toString()实现。

let a=new String('sun')//object
let b=new Number(12)//object
a.valueOf() //'sun' string
a.valueOf() //12 number
b.toString()//'sun'string
b.toString()//'12' string

参考:《基本类型对应的内置对象,以及他们之间的装箱拆箱操作》

ps:文末附上汇总文章链接《一名【合格】前端工程师的自检清单【自检ing】》