一张图了解js原型链

149 阅读1分钟

原型链:我们在访问一个对象的属性时,如果访问的属性不存在,那么就会在该对象构造函数的原型上查找,直至追溯到一个值为null的原型。
prototype: 函数才有的属性;
proto:对象均有该属性

小测试

const temp = {}
console.log(temp.__proto__)
// Object {  }
console.log(temp.__proto__.__proto__)
// null

const temp = {}
temp.__proto__ = { test: 'test' }
console.log(temp.__proto__)
// Object { test: "test" }
console.log(temp.__proto__.__proto__)
// Object {  }
console.log(temp.test)
// "test"