参考文章
概念
- 原型:js语言机制,对象的__proto__所指向的对象
- 原型对象:
prototype- 构造函数constructor所指的对象 - 原型链:对象的
__proto__逐级向上的链式路径
对象
js中除了基础数据 string number boolean undefined symobol null 之外,其他都是 Object 对象
proto
对象有__proto__属性,可以使用 Object.getPrototypeOf()来获取__proto__指向的对象,如下图所示,所有的__proto__都指向了原型对象prototype,最终这些原型对象的__proto__都指向了 Object.prototype原型对象, 而Object.prototype的原型对象是null
constructor
只有原型对象有 constructor 构造函数,只要被 new 关键字调用的函数就可以成为构造函数
函数
只有函数才有 prototype
总结
__proto__、constructor对象拥有prototype函数独有- js函数是对象的一种,所以函数也有
__proto__、constructor