内置对象
内置对象
- 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】》