getter setter

告诉我们发生了什么:
我不明白为什么结果是这样? 还有get 和set分别有什么作用我不太明白,这个class是如何运作的?

  **你目前的代码**

// 只修改这一行下面的代码
class Thermostat{
constructor(F) {
  this._F = F;
}
get temperature() {
  return this._C;
}
set temperature(temperature) {
  this._C = 5/9 * (temperature - 32);
  this._F = temperature * 9.0 / 5 + 32;
  // this._C = temperature
}
}
// 只修改这一行上面的代码

const thermos = new Thermostat(76); // 设置为华氏刻度
let temp = thermos.temperature; // 24.44 摄氏度
console.log(temp)
thermos.temperature = 26;
temp = thermos.temperature; // 26 摄氏度
console.log(temp)
  **你的浏览器信息:**

用户代理是: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36

挑战: 使用 getter 和 setter 来控制对象的访问

挑战的链接:

get 是只能读取值 不能修改 set是可以修改值

你get 的 this._C , 都没有这个东西 你只有this._F , C = 5/9 * (F - 32),你只能返回 ,就是 return 5/9 * (F - 32) , 你的F又赋值给了this._F , 所以就变成了 5/9 * (this._F - 32),set 说设置温度值 F = C * 9.0 / 5 + 32 , F =this._F ,所以return this._F =C * 9.0 / 5 + 32 ,你的形参就是你传的温度也就是C,所以结果就是 return this._F =temperature * 9.0 / 5 + 32