在JavaScript中,原型(prototype)和原型链(prototype chain)是重要的概念,它们是理解JavaScript中对象和继承机制的关键。本文将详细介绍原型与原型链的概念,以及它们在JavaScript中的工作原理和用法。
原型是JavaScript对象的基础,每个对象都有一个原型。原型可以看作是对象的模板,它包含了对象共享的属性和方法。当我们访问一个对象的属性或方法时,如果对象本身没有该属性或方法,JavaScript引擎会沿着原型链向上查找,直到找到该属性或方法或者到达原型链的末尾。
每个JavaScript对象都有一个内部属性[[Prototype]],它指向对象的原型。我们可以通过Object.getPrototypeOf(obj)
来获取对象的原型。在ECMAScript 5之前,我们可以使用__proto__
属性来访问和设置对象的原型,但现在已不推荐使用。
让我们通过一个例子来说明原型的概念:
// 创建一个对象
var person = {