构造函数,原型,实例,类的关系整理

视频来源js原型链、构造函数和类_哔哩哔哩_bilibili

如视频所说,构造函数的prototype指向原型,实例化的对象的__proto__指向原型,原型通过constructor指向构造函数,正如class里面的constructor方法就相当于Person构造函数一样,而我们在class中写在constructor之外的方法则是被默认放到了原型上面即相当于原本的Person.prototype.fn,这样实例化的对象都能访问到。

实例化对象的__proto__指向的是构造函数的原型,构造函数的原型的__proto__指向的是Object.prototype,Object.prototype的__proto__指向的是null。在调试时,\[prototype]就相当于

proto,然后在写class的时候,要注意,class都是小写的,空一格接类名,然后直接接的{},有点像style里面类名的写法。其中的constructor里面仍然是用this来声明实例的属性或者方法的,如

class Person{

constructor(name,age){

this.name = name

this.age = age

}

}

这里使用extends的时候,要记得重新写一遍constructor(){},然后里面的super()这样的写法,要记忆一下,关键的在于,类的继承是为了让子的实例化对象能够使用祖先的原型上的数据,所以类.prototype的__proto__要指向祖先.prototype。

相关推荐
码兄科技9 小时前
Java AI智能体开发实战:从零构建智能对话系统指南
java·开发语言·人工智能
Drone_xjw10 小时前
从 GDB 到 CDB:C/C++ 程序调试的两把“手术刀”
c语言·开发语言·c++
SL-staff10 小时前
智慧园区2000+设备统一管理:JVS-IoT如何降低运维成本40%
java·开发语言·物联网·智慧园区·设备管理·运维优化·jvs-iot
2zcode12 小时前
基于MATLAB图像处理的饮料瓶灌装液位检测系统设计与实现
开发语言·图像处理·matlab
必须得开心呀13 小时前
QT解决中文乱码问题
开发语言·qt
Jackson__13 小时前
为了拯救我的腰椎和颈椎,我做了款浏览器插件!
前端·javascript·开源
林小帅14 小时前
NestJS v11 + Prisma v7 ESM 迁移配置解析
前端·javascript·后端
这不小天嘛14 小时前
JAVA八股——redis篇
java·开发语言·redis
Hilaku15 小时前
为什么你的大文件断点续传,一遇到弱网就崩溃?
前端·javascript·程序员