原型链粗解

本文深入探讨了JavaScript中的ES6类和原型链的概念。类在ES6中是函数的语法糖,其实质仍然是基于原型的继承。每个JS对象都有一个原型,通过原型链实现属性和方法的继承。介绍了constructor、prototype以及如何通过原型链进行继承。同时,展示了类与函数构造器的等价写法,并解释了proto属性和对象的创建。最后,阐述了原型链的工作原理,包括蓝色线条所代表的原型链结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,es6中的类,实际上是方法的语法糖
prototype 是函数的属性,函数的prototype指向了一个对象,这个对象是调用该构造函数而创建的实例的原型。
原型就是,每个js对象在创建时,都会关联一个原型对象,对象从原型中继承属性。

class A {
	constructor(age){
		this.age = age;
	}
	
	getAge(){
		return this.age;
	}
}

等价于

function A (age){
	this.age = age ;
}

A.prototype.getAge = function (){
	return this.age;
}

原型链的继承
在子类中,先使用超类,来继承父类。
子类是先在父类中创建一个实例,拥有了父类中定义的属性和方法,然后子类再添加自己的属性和方法。

proto 是每个JS对象,都具有的一个属性,该属性会指向对象的原型。
constructor 每个原型都有一个constructor属性,指向关联的构造函数。

原型也是个对象,可以使用最原始的方法创建对象

var obj = new Object()
obj.name = 'Kevin'
console.log(obj.name) // Kevin

下图的蓝色线,即为原型链
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值