编程技术文章分享与教程

网站首页 > 技术文章 正文

JS的原型与原型链 js原型和原型链作用

hmc789 2024-11-10 10:33:55 技术文章 2 ℃

每一个对象实例都有自己对应的构造器, 对应的构造器都拥有一个prototype的属性, 值为一个plain object,这就是 构造器的原型,而且对象实例的proto属性也指向构造器的原型:
a.__proto__ === A.prototype
所以构造器原型上的属性方法是可以被对象实例访问到。
因为每一个构造器是prototype原型都是一个对象,理论上来说,这个原型对象也可能是另一个构造器的实例,这样就形成了一条原型的链,在原型链上的实例对象,是可以访问到上级原型对象上的属性方法, 原型链的顶层是Object

function B() {}
B.prototype = {}
function A() {}
const b = new B()
A.prototype = b
const a = new A()
a.__proto__ === A.prototype = b
b.__proto__ === B.prototype === {}
a.__proto__.__proto__ === {}
标签列表
最新留言