JavaScript Object-Oriented JavaScript Getters and Setters Creating Getter Methods

Darrin Spell Jr
Darrin Spell Jr
Full Stack JavaScript Techdegree Student 10,293 Points

I have no idea how this is wrong. May be I am missing something.

Can someone explain to me how this is not returning a value please

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 ( this.credits < 90 && this.credits >= 61 ) {
      return 'Junior';
    } 
    else if ( this.credits < 60 && this.credits >= 31 ) {
      return 'Sophmore';
    }
    else if ( this.credits <= 30 ) {
      return 'Freshman';
    }
  }


}

const student = new Student(3.9);

2 Answers

KRIS NIKOLAISEN
PRO
KRIS NIKOLAISEN
Pro Student 48,769 Points

You have two things going on

1) What if credits are exactly 90 or exactly 60 ?

2) Check the spelling of Sophomore

Darrin Spell Jr
Darrin Spell Jr
Full Stack JavaScript Techdegree Student 10,293 Points

I fixed the spelling error. I keep getting Bummer: It looks like your getter method is not returning a value.

Routine Poutine
Routine Poutine
25,845 Points

Thanks! My bug was "Sophmore"!

KRIS NIKOLAISEN
PRO
KRIS NIKOLAISEN
Pro Student 48,769 Points

You still aren't handling the case of credits = 90 or credits = 60. You have have greater than or less than covered but not exactly equal.