论断:VueComponent.prototype.__proto__ === Vue.prototype
Vue与VueComponent的关系如图所示:
(图一)
前提常识:
每个函数function都有一个prototype属性,即显式原型(属性),它默认指向Object空对象,
每个实例对象都有一个__proto__属性,即称隐式原型(属性)。
关系图剖析:
当咱们创立一个vue实例对象vm的时候,
则Vue.prototype === vm.__proto__,都指向Vue的原型对象。
当咱们创立一个组件实例对象vc的时候,
则VueComponent.prototype === vc.__proto__,都指向VueComponent.prototype的原型对象。
Vue和VueComponent最终本该都指向Object原型对象(如图二黄实线),可VueComponent把本来指向Object的原型对象改到指向Vue原型对象(如一图黄虚线),即VueComponent.prototype.__proto__ === Vue.prototype,目标是为了组件实例对象(vc)能够拜访到Vue原型上的属性和办法
(图二)