基本包装类型有Boolean,Number和string类型,每当读取一个基本类型值时,后台就会创建一个对应的基本包装类型对象.
从逻辑上,基本类型值不是对象,没有方法,但从技术上来看,当读取一个基本类型值时,后台会自动运行下面的过程:
可以将上面的过程想象为下面的代码:
var s1 = new String("some text");// Boolean, Number 也是如此
var s2 = s1.substring(2);
s1 = null;
虽然在技术上这样可以创建基本包装类型的实例,但在非必要的情况下,千万不要这么做.
因为对基本包装类型的实例调用 typeof 会返回"object",而且所有基本包装类型的实例都会被转换为布尔值 true。
引用类型和基本包装类型的主要区别就是实例的生存期:
var s1 = "some text";
s1.color = "red";
console.log(s1.color);// undefined
使用Object构造函数来创建基本包装类型的实例
var obj = new Object("some text");
console.log( obj instanceof String );// true
var obj = new Object(25);
console.log( obj instanceof Number );// true
var obj = new Object(true);
console.log( obj instanceof Boolean );// true
原文:https://www.cnblogs.com/zxcv123/p/12026697.html