1class Dog { 2 constructor(name) { 3 this.name = name; 4 } 5}; 6 7class Labrador extends Dog { 8 // 1 9 constructor(name, size) { 10 this.size = size; 11 } 12 // 2 13 constructor(name, size) { 14 super(name); 15 this.size = size; 16 } 17 // 3 18 constructor(size) { 19 super(name); 20 this.size = size; 21 } 22 // 4 23 constructor(name, size) { 24 this.name = name; 25 this.size = size; 26 } 27 28};
本题为"单选题"
参考答案:
正确选项:B:2
在子类中,在调用super
之前不能访问到this
关键字。 如果这样做,它将抛出一个ReferenceError
:1和4将引发一个引用错误。
使用super
关键字,需要用给定的参数来调用父类的构造函数。 父类的构造函数接收name
参数,因此我们需要将name
传递给super
。
Labrador
类接收两个参数,name
参数是由于它继承了Dog
,size
作为Labrador
类的额外属性,它们都需要传递给Labrador
的构造函数,因此使用构造函数2正确完成。
最近更新时间:2024-08-03
题库维护不易,您的支持就是我们最大的动力!