JavaScript Object-Oriented JavaScript Getters and Setters Creating Setter Methods

Francesco Paolini
Francesco Paolini
9,910 Points

I'm not sure if I'm almost there or if I'm completely off track

i'm not sure what I'm doing cause i've still not completely understood getters and setters

creating_setters.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 > 60) {
            return 'Junior';
        } else if (this.credits > 30) {
            return 'Sophomore';
        } else {
            return 'Freshman';
        }
    }

  set major(major){
    if(student.credits > 90 || student.credits > 60){
       this._major = major;
    } else {
      this._major = 'None';
    }
  }
}

var student = new Student(3.9, 60);

2 Answers

Steven Parker
Steven Parker
203,443 Points

Almost there!

Inside the class, you don't know what the instance name will be, so references to the instance should all use "this". Also, since anything over 90 will also be over 60, you can simplify the test (but it would technically work as it was):

    if (this.credits > 60) {
Steven Parker
Steven Parker
203,443 Points

Francesco Paolini — Glad to help. You can mark the question solved by choosing a "best answer".
And happy coding!