JavaScript原型链如何工作_它如何实现继承?

admin 百科 19
JavaScript原型链是基于[[Prototype]]隐式引用的对象继承机制,通过逐级向上查找属性和方法实现复用,终点为Object.prototype.__proto__ === null。

JavaScript原型链如何工作_它如何实现继承?-第1张图片-佛山资讯网

JavaScript 的原型链是实现对象继承的核心机制,它不依赖类(class)的语法糖,而是基于每个对象内部的 [[Prototype]] 隐式引用,逐级向上查找属性和方法。

每个对象都有一个原型(prototype)

对象在创建时会关联一个原型对象,这个原型通常是其构造函数的 prototype 属性(普通对象则默认指向 Object.prototype)。这个链接不是通过属性名暴露的,但可通过 Object.getPrototypeOf(obj) 或非标准但广泛支持的 obj.__proto__ 访问。

例如:

function Person(name) { this.name = name; }
Person.prototype.sayHello = function() { console.log('Hello'); };

const p = new Person('Alice');
console.log(p.__proto__ === Person.prototype); // true
console.log(Person.prototype.__proto__ === Object.prototype); // true

登录后复制

属性访问遵循“原型链查找”规则

当你读取一个对象的属性时,JS 引擎会:

立即学习“Java免费学习笔记(深入)”;

  • 先检查该对象自身是否拥有该属性(hasOwnProperty 为 true)
  • 如果没有,就沿着 [[Prototype]] 链向上查找,直到找到或抵达 null(即 Object.prototype.__proto__
  • 写入属性默认只作用于对象自身,不会修改原型上的同名属性

这意味着方法复用靠共享原型,而数据状态应放在实例上,避免互相干扰。

标签: javascript java js 为什么

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~