Use getters and setters to Control Access to an Object code not working

Use getters and setters to Control Access to an Object code not working
0.0 0

#1

My code isn’t working what’s wrong?

Your code so far


function makeClass() {
  "use strict";
  /* Alter code below this line */
   class Thermostat{
    constructor(temp){
      this.temp = temp;
    }
  }
  
  get temperature(){
    return this.temp * 1.8 + 32;
  }
  
  set temperature(celsius){
    this.temp = (this.temp - 32) / 1.8;
  }
  /* Alter code above this line */
  return Thermostat;
}
const Thermostat = makeClass();
const thermos = new Thermostat(76); // setting in Fahrenheit scale
let temp = thermos.temperature; // 24.44 in C
thermos.temperature = 26;
temp = thermos.temperature; // 26 in C

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36.

Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/es6/use-getters-and-setters-to-control-access-to-an-object/


#2

This is why it went wrong

class Thermostat{
  constructor(temp){
    this.temp = temp;
  }
} // Your class definition ends here, which is incorrect...
//   because getter and setter is defined outside of the class
get temperature(){
  return this.temp * 1.8 + 32;
}
  
set temperature(celsius){
  this.temp = (this.temp - 32) / 1.8;
}

‘get’ and ‘set’ syntax have no meaning outside of class.