Tengo una escuela de superclase con propiedades nombre, nivel y número de estudiantes.
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() classPero cuando extiendo eso a una subclase PrimarySchool...
class PrimarySchool extends School{ constructror(name,numberOfStudents,pickupPolicy){ super(name,'primary',numberOfStudents) this._pickupPolicy = pickupPolicy } get pickupPolicy(){ return this._pickupPolicy } }//end PrimarySchoolObtengo SyntaxError: palabra clave 'super' inesperada aquí. Pero debería poder pasar 'primary' como el valor para el nivel de propiedad de la clase principal. Lo mismo con nombre y número de estudiantes. Incluso si declaro el nivel en el constructor de la subclase y ni siquiera paso un valor, obtengo el mismo error:
class PrimarySchool extends School{ constructror(name,level,numberOfStudents,pickupPolicy){ super(name,level,numberOfStudents) this._pickupPolicy = pickupPolicy } get pickupPolicy(){ return this._pickupPolicy } }//end PrimarySchoolHay un error tipográfico en el constructror de la clase PrimarySchool . La palabra correcta es constructor . Aquí hay un código de muestra de trabajo:
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 );¿Utiliza algún IDE con resaltado de sintaxis o un linter (por ejemplo, ESLint)?