JavaScript原型 | ES6 class 类

文章目录

原型

不了解原型的看这个:详细图解原型
在JavaScript中,用一个函数创建实例,实例可以使用函数原型中的方法。
下图就是创建一个函数F,给F的原型添加一个属性 a = ‘bbb’
在这里插入图片描述
创建一个ff为F的实例,ff可以调用F中的属性。
由于实例能够使用函数原型中的属性和方法,因此方法一般定义在原型中, 属性一般通过构造函数定义在对象本身上。
在这里插入图片描述
通过实例的隐式原型链,还可以修改函数原型中的属性。
在这里插入图片描述
当然ES6之前是不能通过实例修改的,也就是说ES6之前,上图中的修改方法不好使嗷。当然了ES6改进的不止这一点,还有了类。

class

prototype是否有很多的问号,作为一个计算机入门语言是c++和java的我,理解原型当然很容易,但是也会觉得写法麻烦,于是ES6提出了解决办法。ES6可以像c++样使用class了。用法也差不多。
比如:
创建一个person类,constructor方法就是类的构造方法。你在person类里添加的方法,都会作为这个类的原型存在。注意添加方法的时候要采用对象方法的简写方式。
在这里插入图片描述
在这里插入图片描述
子类对于父类的继承: 使用extends关键字实现继承。子类必须在constructor方法中调用super方法,实现对父类构造方法的继承。如果子类中有和父类同名的方法,则会调用该子类的方法,这就是父类方法重写。
在这里插入图片描述
不加super会报错在这里插入图片描述
加了super,其中要传入参数,否则会显示undefined
在这里插入图片描述
作为函数时,super()也只能用在子类的构造函数之中,用在其他地方会报错。
在这里插入图片描述

发布了122 篇原创文章 · 获赞 423 · 访问量 52万+

猜你喜欢

转载自blog.csdn.net/qq_36667170/article/details/105044854