Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript Object-Oriented JavaScript Getters and Setters Creating Setter Methods

Jessie Doherty
Jessie Doherty
7,571 Points

I'm not so sure what exactly is wrong with my setter method, Please help, thank you so much!

I'm following along with the setter method, but my code is not passing the challenge for some reason. I'm not so sure where is wrong...please help! Thank you so much!

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

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

var student = new Student(3.9, 60);

2 Answers

Dane Parchment
MOD
Dane Parchment
Treehouse Moderator 11,075 Points

So the issues with your code are actually to do with various syntax errors.

  1. You don't actually close your class. Remember, your class is wrapped in curly braces like so: class Dog {}. Currently yours is like: class Dog {
  2. Check your if statements and remember the syntax for conditionals, currently you aren't actually checking the equality of the variables (== or === <--- that one more preferably). Instead you are assigning those values to the variables your checking and thus they will always pass.

Fix those and you should be good!

Jessie Doherty
Jessie Doherty
7,571 Points

Thank you so much for answering my question Dane, Yes, I'm missing a closing } at the end of the class...also I don't need to include a get major() in this one...I should just put all the logic in the setter method, then I'm good. Thank you so much it took me quite some time to figure out why I'm not passing this one.