JavaScript Object-Oriented JavaScript Getters and Setters Creating Getter Methods

credit is not defined

when we run this code show error "credit is not defined" how to fix it

class Student {
    constructor(gpa, credits){
        this.gpa = gpa;
        this.credits = credits;
    }

    stringGPA() {
        return this.gpa.toString();
    }

      get level() {
      if (this.credits >= 90 ) {
        return Senior
      }else if (credits >= 61 && credits <= 90 )
        return Junior
      else if (credits >= 31 && credits <= 60)
        return Sophomore
      else (credits <= 30 )  
        return Freshman
   }
}

const student = new Student(3.9);
creating_getters.js
class Student {
    constructor(gpa, credits){
        this.gpa = gpa;
        this.credits = credits;
    }

    stringGPA() {
        return this.gpa.toString();
    }

      get level() {
      if (this.credits >= 90 ) {
        return Senior
      }else if (credits >= 61 && credits <= 90 )
        return Junior
      else if (credits >= 31 && credits <= 60)
        return Sophomore
      else (credits <= 30 )  
        return Freshman
   }
}

const student = new Student(3.9);

1 Answer

Steven Parker
Steven Parker
173,876 Points

You have several references to "credits" that are missing the "this." prefix.

Also, those level names should all be strings, so they need to be enclosed in quotes.