Calling the `setter` should set the temperature

Tell us what’s happening:

what this line means
Calling the setter should set the temperature.

Your code so far


// Only change code below this line
class Thermostat {
constructor(fahrenheit){
  this.fahreinheit = fahrenheit;
}
get temperature(){
  return 5/9 * (this.fahreinheit - 32);
}
set temperature(celsius){
  return this.fahrenheit = (celsius * 9.0) / 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
console.log(temp);

Your browser information:

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

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

Link to the challenge:

Issue is in the setter part. You need to only set the value in setter. No conversion or return is required. Also, variable used in setter is wrong. It should be fahreinheit instead of fahrenheit.

set temperature(temp){
  this.fahreinheit = temp;
}
1 Like