亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在類變量 JavaScript 上設置 getter/setter

在類變量 JavaScript 上設置 getter/setter

料青山看我應如是 2023-01-06 15:50:18
我有一個如下所示的類:export default class Car {    brand = '';    color = '';    fuel = '';    constructor(car) {        ...    }}如何在類變量上設置 setter?例如export default class Car {    brand = '';    color = '';    fuel = '';    set brand(brand) {        ...    }    get brand() {        return ...;    }    get color(color) {        return ...;    }    set color(color) {        ...    }}我嘗試使用上面的方法,但是它不起作用。class Car {    brand = '';    color = '';    constructor(car) {    this.brand = car.brand;    this.color = car.color;  }    set brand(val) {    // It should alert Audi.    alert(val);  }}let car = new Car({brand: 'BMW', color: 'white'});car.brand = 'Audi';展開片段它不會提醒我設置的值brand。
查看完整描述

1 回答

?
慕俠2389804

TA貢獻1719條經驗 獲得超6個贊

問題在于命名約定,setter 和 public 屬性都是相同的,因此在設置它時實際上并沒有使用自定義 setter。如果您要更改名稱,它將起作用。


class Car {

  _brand = '';

  _color = '';


  constructor(car) {

    this._brand = car.brand;

    this._color = car.color;

  }


  set brand(val) {

    this._brand = val;

    alert(val);

  }

  

  get brand() {

    return this._brand;

  }

}


let car = new Car({

  brand: 'BMW',

  color: 'white'

});


car.brand = 'Audi';


console.log(car.brand)


查看完整回答
反對 回復 2023-01-06
  • 1 回答
  • 0 關注
  • 147 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號