为什么要在子类constructor的this前放super还是没明白

来源:4-1 ES6中class的继承

Darkholme

2020-08-05 16:41:03

首先,之前不是讲了super并不是一个方法吗,那这里以super()函数调用的形式调用他是怎么回事?super不是用来访问一个对象的原型吗,这里不可以Object.setProtorypeOf(子类,父类),完了用super.父类属性名访问,不能这样吗?完了为啥调用子类的实例之前非要走一遍父类的属性啊?

写回答

1回答

好帮手慕久久

2020-08-05

同学你好,问题解答如下:

super的不仅可以用来访问对象的原型,还可以作为父类的构造函数来调用,所以在继承的时候,在子类的constructor中,调用super方法,可以让子类把父类的属性和方法继承过来,这样子类才会拥有父类的属性和方法(走一遍父类的属性,就是为了继承它们)。

在class的继承中,只能使用super,不能使用“Object.setPrototypeOf()”,这是es6规定好的语法,我们只能按照它的规定来写,同学将其当成固定的语法记住就行。

如果我的回答帮到了你,欢迎采纳,祝学习愉快!

0

0 学习 · 10739 问题

查看课程