Can someone tell me what is wrong here?

Can someone tell me what I am doing wrong here? My PrimarySchool class doesn’t seem to be extending the School class. :frowning: I know I’m missing something tiny.

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;


  set numberOfStudents(value) {

    if (typeof value === 'Number') {

      this._numberOfStudents = value;

    } else {

      console.log('Invalid input: numberOfStudents must be set to a Number.');



  quickFacts() {

    console.log(`${} educates ${this.numberOfStudents} students at the ${this.level} school level.`);


  static pickSubstituteTeacher(substituteTeachers) {

    const substituteIndex = Math.floor(substituteTeachers.length * Math.random());

    return substituteTeachers[substituteIndex];



class PrimarySchool extends School {

  constructor(name, numberOfStudents, pickupPolicy) {

    super(name, 'primary', numberOfStudents);

    this._pickupPolicy = pickupPolicy;


    get pickupPolicy() {

      return this._pickupPolicy;



const lorraineHansbury = new PrimarySchool('Lorraine Hansbury', 514, 'Students must be picked up by a parent, guardian, or a family member over the age of 13.');


lorraineHansbury.pickSubstituteTeacher(['Jamal Crawford', 'Lou Williams', 'J. R. Smith', 'James Harden', 'Jason Terry', 'Manu Ginobli']);

what makes you think this?

I think the problem is that you don’t call your static method correctly. What is special about static methods?

I see a problem where you are validating your number using typeof:

if (typeof value === 'Number') {

Try changing this to :

if (typeof value === 'number') {

Check if that works!!