为什么说new是一颗语法糖呢?
因为其实在new的操作过程中,就是将改变了对象的_proto_
属性以及对象的一些属性。这通过一个函数也可以做到,比如:
var instance = function() {
var temp = {};
temp._proto_ = subType.prototype;
temp.id = 2017;
temp.name = 'amy';
return temp;
}
不这么做的原因有二:
1. _proto_
属性不是标准属性,不推荐使用
2. 代码太多了呀。