选择题936/1629使用哪个构造函数可以成功继承 Dog 类?

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};
难度:
2021-07-02 创建

本题为"单选题"

参考答案:

正确选项:B:2

在子类中,在调用super之前不能访问到this关键字。 如果这样做,它将抛出一个ReferenceError:1和4将引发一个引用错误。 使用super关键字,需要用给定的参数来调用父类的构造函数。 父类的构造函数接收name参数,因此我们需要将name传递给superLabrador类接收两个参数,name参数是由于它继承了Dogsize作为Labrador类的额外属性,它们都需要传递给Labrador的构造函数,因此使用构造函数2正确完成。

最近更新时间:2024-08-03

赞赏支持

题库维护不易,您的支持就是我们最大的动力!