原型链图关系
构造函数有prototype属性,它指向的是一个对象,凡是用构造函数创建的实例都会有一个[[Prototype]]属性,它指向的就是构造函数的prototype。
function Fn(){}
const obj = new Fn();
图关系
关键点
- 函数才有prototype属性
- prototype属性大部分情况是个对象(实例对象)
判断点
obj.__proto__ === Fn.prototypeFn.prototype.__proto__ === Object.prototypeFn.__proto__ === Function.prototype === Function.__proto__ === Object.__proto__Object.prototype.__proto__ == null
其中__proto__获取的是对象的[[Prototype]]属性值,可以使用JS中的Object.getPrototypeOf()实现