proto和prototype的出现是为了啥?
首先认清楚proto和prototype存在的目的才能帮助我们更好的去了解他们
proto和prototype是帮助我们创建数组、对象 或者 函数的一个对象,proto和prototype他们本身也是一个对象;prototype只存在于构建函数中,它里面提供对其构造函数的一些方法,例如push、toString这些
proto存在与任何对象中;它里面属性是在使用new方法创建对象时,通过指向构造函数的prototype属性,这样proto中就可以使用构造函数中prototype对象里的方法啦
这里有点饶哈,细品!!!
proto和prototype区别
Prototype | proto |
prototype是一个使用.prototype在多个对象之间共享行为和数据的简单方法 | Proto也是一种使用__proto__在多个对象访问之间共享行为和数据的方法 |
所有的对象构造函数(函数)都有原型属性。 | 所有的对象都有proto属性。 |
原型使用函数访问函数的原型。 | Proto允许使用对象访问函数的原型。 |
它主要用于解决在构造函数模式下创建对象时内存浪费的问题,然后每个对象都有单独的行为 | 它在查找链中用于解析方法、构造函数等。 |
它是类的属性。 | 它是该类实例的属性。 |
prototype属性在声明时被设置为函数。所有函数都有一个prototype属性。 | Proto属性,该属性在使用new关键字创建对象时设置为对象。所有新创建的对象行为都有proto属性。 |
它在EcmaScript 6中被引入。 | 它是在ECMAScript 5中引入的。 |
它也被称为。prototype | 它也被称为dunder proto。 |
它主要用于javaScript。 | 它很少在JavaScript中使用。 |