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

hi Sirs/Madams,
Good day,
where the 273.15 came from ?
Please… :grinning: :grinning:

class Thermostat {
constructor (Fahrenheit) {
this.Fahrenheit = (5 / 9) * (Fahrenheit - 32) + 273.15;

}

Tell us what’s happening:
Describe your issue in detail here.

Your code so far

// Only change code below this line
class Thermostat {
  constructor (Fahrenheit) {
    this.Fahrenheit = (5 / 9) * (Fahrenheit - 32) + 273.15;
  }
  get temperature() {
    return this.Fahrenheit - 273.15;
  }
  set temperature(celsius){
    this.Fahrenheit = celsius + 273.15;
  }
}
// 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(thermos);

Your browser information:

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

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

Link to the challenge:

Where did you find it?

I think the logic is coded in a different manner.

We are receiving input param in “Fahrenheit (F)” , storing it in a variable by converting F to Kelvin and returning the temparature in “Celsius ( C)” by adding Kelvin (K ) value.

In simple words, Kelvin is the medium of conversion here.

Here is the celsius to kelvin conversion
T = Tc + 273.15
where T =Kelvin temparature, Tc=Celsius temparature

Here is the Kelvin to Celsius conversion
Tc = T – 273.15

Hope this answers your question. Happy Coding !! :grinning:

2 Likes

Many thanks Sir, i am very grateful :smiley: :smiley:

by the way, apology for the late reply,

thanks and God Bless…