SyntaxError:' super'关键字在扩展超级类时出乎意料

发布于 2025-01-27 11:47:53 字数 1276 浏览 2 评论 0原文

我有一所超级班级学校,具有属性名称,级别和学生人数

class School{
      constructor(name,level,numberOfStudents){
        this._name = name;
        this._level = level
        this._numberOfStudents = numberOfStudents
      }
      get name(){
        return this._name;
      }
      get level(){
        return this._level
      }
      get numberOfStudents(){
        return this._numberOfStudents
      }
    }// end School() class 
    

但是,当我将其扩展到子类小学时...

    class PrimarySchool extends School{
      constructror(name,numberOfStudents,pickupPolicy){
        super(name,'primary',numberOfStudents)
        this._pickupPolicy = pickupPolicy
      }
      get pickupPolicy(){
        return this._pickupPolicy
      }
    }//end PrimarySchool

我在这里得到SyntaxError:“超级”关键字出乎意料。但是我应该能够将“主要”作为父级属性的值 level 。与名称和数字学生相同。即使我在子级构造函数中声明级别,甚至不通过一个值,我也会得到相同的错误:

class PrimarySchool extends School{
  constructror(name,level,numberOfStudents,pickupPolicy){
    super(name,level,numberOfStudents)
    this._pickupPolicy = pickupPolicy
  }
  get pickupPolicy(){
    return this._pickupPolicy
  }
}//end PrimarySchool 

I have a super class School with properties name,level, and number of students

class School{
      constructor(name,level,numberOfStudents){
        this._name = name;
        this._level = level
        this._numberOfStudents = numberOfStudents
      }
      get name(){
        return this._name;
      }
      get level(){
        return this._level
      }
      get numberOfStudents(){
        return this._numberOfStudents
      }
    }// end School() class 
    

But when I extend that to a subclass PrimarySchool...

    class PrimarySchool extends School{
      constructror(name,numberOfStudents,pickupPolicy){
        super(name,'primary',numberOfStudents)
        this._pickupPolicy = pickupPolicy
      }
      get pickupPolicy(){
        return this._pickupPolicy
      }
    }//end PrimarySchool

I get SyntaxError: 'super' keyword unexpected here. But I should be able to pass in 'primary' as the value for the parent class property level. Same with name and numberOfStudents. Even If I declare level in the sub-class constructor and don't even pass in a value, I get the same error:

class PrimarySchool extends School{
  constructror(name,level,numberOfStudents,pickupPolicy){
    super(name,level,numberOfStudents)
    this._pickupPolicy = pickupPolicy
  }
  get pickupPolicy(){
    return this._pickupPolicy
  }
}//end PrimarySchool 

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爺獨霸怡葒院 2025-02-03 11:47:53

conductror中的priendarschool类中有一个错字。正确的单词是构造函数。这是一个有效的示例代码:

class School{
      constructor(name,level,numberOfStudents){
        this._name = name;
        this._level = level
        this._numberOfStudents = numberOfStudents
      }
      get name(){
        return this._name;
      }
      get level(){
        return this._level
      }
      get numberOfStudents(){
        return this._numberOfStudents
      }
    }// end School() class 
    

   class PrimarySchool extends School{
      constructor(name,numberOfStudents,pickupPolicy){
        super(name,'primary',numberOfStudents)
        this._pickupPolicy = pickupPolicy
      }
      get pickupPolicy(){
        return this._pickupPolicy
      }
    }//end PrimarySchool


const school = new PrimarySchool( 'NY School', 2137, true );

console.log( school );

您是否将任何IDE用于语法突出显示或linter(例如ESLINT)?

There is a typo in the constructror in the PrimarySchool class. The correct word is constructor. Here's a working sample code:

class School{
      constructor(name,level,numberOfStudents){
        this._name = name;
        this._level = level
        this._numberOfStudents = numberOfStudents
      }
      get name(){
        return this._name;
      }
      get level(){
        return this._level
      }
      get numberOfStudents(){
        return this._numberOfStudents
      }
    }// end School() class 
    

   class PrimarySchool extends School{
      constructor(name,numberOfStudents,pickupPolicy){
        super(name,'primary',numberOfStudents)
        this._pickupPolicy = pickupPolicy
      }
      get pickupPolicy(){
        return this._pickupPolicy
      }
    }//end PrimarySchool


const school = new PrimarySchool( 'NY School', 2137, true );

console.log( school );

Do you use any IDE with syntax highlighting or a linter (e.g. ESLint)?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文