我们的基本类型有六种,string,number,boolean,null,undefined,symbol
我们的前三中都有基本包装类型。
let a = new String(‘hello’)
let a = ‘hello’
他们两者是有区别的,a是一个对象,而基本类型string
你可以想一下,我们的基本类型string为什么会有方法,不是应该对象才有方法的嘛?
let a = ‘hello’
a.strsub()
因为我们js引擎中进行处理,基本类型处于‘只读模式’。
js引擎做的操作
let aaa = new String('hello')
a = aaa.strsub()
aaa= null
对象和基本包装类型的区别
主要区别是对象的生存期
引用类型在离开当前作用域之前都一直保存在内存中。
但是对于基本包装类型来说,只有处于“读取模式”的时候,后台才会自动创建相对应的对象,调用指定的方法之后,就立即销毁该对象了,这就意味着我们不能在运行的时为基本类型值添加属性和方法。