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

视频来源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。

相关推荐
小羊没烦恼!3 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
三十而立洋3 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
伞伞悦读3 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
卡布鲁3 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
C语言小火车3 天前
C/C++ 为什么需要编译器?
开发语言·c++
李少兄3 天前
JavaScript 隐式全局变量解析
javascript
霍霍的袁3 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
孙启超3 天前
【AI开发之Rust】第 11 课:智能指针与内部可变性
开发语言·后端·rust
此生决int3 天前
深入理解C++系列(20)——C++11(下)
开发语言·c++
沙蒿同学3 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端