美文网首页
JS - 原型,prototype 和 __proto__

JS - 原型,prototype 和 __proto__

作者: 恒星的背影 | 来源:发表于2022-03-12 17:49 被阅读0次

原型和原型链是JS实现继承的方式。
除了箭头函数,其它函数身上都有prototype属性。当该函数作为构造函数生成对象时,新生成的对象会继承其prototype中的方法(即 obj.__proto__ === fn.prototype)。

function Person() {

}
console.log(
  Person.__proto__ === Function.prototype,
  Object.__proto__ === Function.prototype,
  Function.__proto__ === Function.prototype,
)
// true true true

console.log(
  Function.prototype.__proto__ === Object.prototype,
  Object.prototype.__proto__ === null,
  Array.prototype.__proto__ === Object.prototype,
)
// true true true

Person, Object, Function 是函数,由 Function 构造而来。
Function.prototype,Array.prototype 是对象,由 Object 构造而来。
原型链的查找方法:xxx.prototype 是一个普通对象,yyy.__proto__ 找的是yyy的构造函数。

相关文章

网友评论

      本文标题:JS - 原型,prototype 和 __proto__

      本文链接:https://www.haomeiwen.com/subject/izfldrtx.html