ES6 - Use getters and setters to Control Access to an Object

Tell us what’s happening:
Describe your issue in detail here.
very confused at what is happening can someone please explain
Your code so far

// Only change code below this line
class Thermostat {
  constructor(temperature) {
    this.temperature = temperature;
  }
  get temperature() {
    return 5/9 * (this.temperature - 32);
  }
  set temperature(updatedTemperature) {
    this.temperature = 9 * updatedTemperature/ 5 + 32;
  }
}
// Only change code above this line

const thermos = new Thermostat(76); // Setting in Fahrenheit scale
let temp = thermos.temperature; // 24.44 in Celsius
thermos.temperature = 26;
temp = thermos.temperature; // 26 in Celsius

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 Edg/116.0.1938.81

Challenge: ES6 - Use getters and setters to Control Access to an Object

Link to the challenge:

You’ve created an infinite loop. This is because you are accessing this.temperature which triggers the getter/setter for this.temperature, which triggers the getter/setter for this.temperature and so on…
You should use a different variable name instead of this.temperature.
As explained in the challenge description, it’s conventional to name private variables by prefixing them with an underscore. So, you could use the same variable name but with the underscore prefix.

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.