__proto__
来源:15-13 原型和原型链-代码演示
V金龙V
2017-12-01
var str1 = '123';
var str2 = new String('456');
str1.__proto__ === str2.__proto__
我记得老师在课上讲过,引用类型才有__proto__这个属性,为啥这里这个值类型会有__proto__这个属性呢?
写回答
2回答
-
首先你应该先问:值类型有属性吗?
其实,这里有一个弯儿,就是访问值类型的属性时,js 会默默的将值类型转换为引用类型的形式,然后再去执行。例如 str1.length str1.replace 等等。
你说的 str1.__proto__ 也是一个道理
022019-04-26 -
兮漫天
2019-04-26
去理解下基本包装类型就明白了哈~因为 string number boolean 在使用一些方法的时候,会自动转为基本包装类型!基本包装类型也是一个对象,只不过是对象的实例,所以有__proto__,这也是ECMA里面对于js戏称万物皆对象的其中一个版本的由来......
00
相似问题