JS中的prototype,__proto__,constructor

58 阅读1分钟

前言

  现在写vue的时候,基本上不会遇到prototype,__proto__,constructor这三兄弟。但是在看vue源码的时候,还是会遇到。那么遇到了,就要清楚,了解他们。

prototype

  这个属性是函数特有的,他是从一个函数指向一个对象。他的含义是:函数的原型对象。他的作用是,所有的实例和属性所共享的方法。

__proto__属性

   __proto__是对象特有的。他的作用就是,当他本身不存在属性或者方法的时候,会沿着链条去找(父级),一直找,直到找到终点,null

constructor

  他是对象特有的,他是从一个对象指向一个函数,含义就是指向该对象的构造函数。所有的函数最终指向Function

结束语

  当Array.prototype.shift === new Array().__proto__.shift这个是恒等于的,因为这个是prototype的作用所导致的。