JavaScript Object-Oriented JavaScript Getters and Setters Creating Setter Methods

Ewerton Luna
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
Ewerton Luna
Full Stack JavaScript Techdegree Graduate 21,174 Points

major() setter challenge: "It appears that no backing property _method was set in the setter method"

I have no idea of what am I missing. Any help will be greatly appreciated! thank you!

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 (this.level === 'Senior' || this.level === 'Junior'){
        this._major = major;
      } else if (this.level === 'Freshman' || this.level === 'Sopbomore'){
        this._major = 'None';
      }

    }
}

var student = new Student(3.9, 60);

1 Answer

Just a typo. You have:

this.level === 'Sopbomore'

instead of:

this.level === 'Sophomore'