在JavaScript中,`super()`是一个关键字,用于调用父类的构造函数。在类继承中,子类在创建实例时,会自动调用父类的构造函数,但是父类的构造函数中并不能访问子类的实例变量,这时就需要通过`super()`来调用父类的构造函数。 `super()`的使用方式主要有两种: 1. 在子类的构造函数中调用父类的构造函数,不传任何参数: ```javascript class Parent { constructor(name) { this.name = name; } } class Child extends Parent { constructor(name, age) { super(name); // 调用父类的构造函数 this.age = age; } } ``` 2. 在子类的构造函数中调用父类的构造函数,并传入参数: ```javascript class Parent { constructor(name) { this.name = name; } } class Child extends Parent { constructor(name, age) { super(name, age); // 调用父类的构造函数,并传入参数 this.age = age; } } ``` 在第一种情况下,`super()`调用的是父类的构造函数,而没有传入任何参数,所以在子类的构造函数中,`this.name`是父类的实例变量,`this.age`是子类的实例变量。 在第二种情况下,`super()`调用的是父类的构造函数,并传入了参数,所以`this.name`是父类的实例变量,`this.age`是子类的实例变量。 `super()`的作用是调用父类的构造函数,如果在子类的构造函数中调用父类的构造函数,并传入参数,那么`super()`会调用父类的构造函数,并传入相同的参数。 [2023-11-09 01:43:06 | AI问答 | 396点数解答]