JavaScript Object-Oriented JavaScript Getters and Setters Creating Setter Methods

Bummer: It appears that no backing property _method was set in the setter method NEED HELP PLEASE!

Hi , can someone help, I don't know where I am going wrong with this, can someone help. thanks

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 { this._major == 'None'; 
           }
    }

}
var student = new Student(3.9, 60);

Student.major = "Computer science";

3 Answers

Hi Steven that is great thanks for spotting that!

Steven Parker
Steven Parker
203,443 Points

David Mulholland — Glad to help. But normally you'd mark "best answer" on the one that contained the information that helped most!   :see_no_evil:

(You can still change it :wink:)

Steven Parker
Steven Parker
203,443 Points

The assigment operator is a single character "=". When you use two of them ("=="), it is a comparison operator.

//    else { this._major == 'None';   // original code
      else { this._major = 'None';    // fixed
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 {
      this._major = 'None'
    }
  };
}

var student = new Student(3.9, 60);