请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

get 與 set ?


class engineer {
  constructor(public lang: string, private _salary: number) {}
  // get 可以保護私有且真正的數字 並動手腳做處理再暴露出來
  get income() {
    return this._salary - 2000
  }
  set income(salary: number) {
    const realIncome = salary + 500
    this._salary = realIncome
  }
}
const SWE = new engineer('java', 6000)

console.log(SWE.income)

老師這是我寫的範例:
我預想的結果是 6000 進入 set 後會先 進入set +500 並塞進真正的私有變數
然後 透過get income log出來4500的數字

但我log出來的結果是 4000 我漏了什麼嗎?

正在回答 回答被采纳积分+3

1回答

Dell 2024-12-28 16:17:57

set 需要你设置一次值才能改,console.log(SWE.income) 调用了一次 get,但是没有set,所以4000是正常的

0 回复 有任何疑惑可以回复我~

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号