JavaScript Object-Oriented JavaScript Getters and Setters Creating Setter Methods

Sumalee Juntra
Sumalee Juntra
8,420 Points

I need some help with Setter.

Inside the major() setter method, set the student's major to a backing property "_major". If the student's level is Junior or Senior, the value of the backing property should be equal to the parameter passed to the setter method. If the student is only a Freshman or Sophomore, set the "_major" backing property equal to 'None’.

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';
    }
}

get major() {
  return this._major;
}

set major(major) {
  this._major = major;

  if ('Junior', 'Senior') {
    return this._major;
  } else if ('Sophomore', 'Freshman') {
    return 'None';
  }
}

}

var student = new Student(3.9, 60);

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';
        }
    }

    get major() {
      return this._major;
    }

    set major(major) {
      this._major = major;

      if ('Junior', 'Senior') {
        return this._major;
      } else if ('Sophomore', 'Freshman') {
        return 'None';
      }
    }

}

var student = new Student(3.9, 60);

1 Answer

immad Ud din
seal-mask
.a{fill-rule:evenodd;}techdegree
immad Ud din
Front End Web Development Techdegree Student 13,276 Points
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';
        }
    }

    get major() {
      return this._major;
    }

    set major(major) {
      if (this.level.toLowerCase() === 'senior'.toLowerCase() || this.level.toLowerCase() === 'junior'.toLowerCase()) {
        this._major = major;
      } else if (this.level.toLowerCase() === 'Sophomore'.toLowerCase() || this.level.toLowerCase() === 'Freshman'.toLowerCase()) {
        this._major = 'None';
      }
    }

}

var student = new Student(3.9, 70);
student.major = 'JavaScript';
console.log(student.major);