第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

在類變量 JavaScript 上設(shè)置 getter/setter

在類變量 JavaScript 上設(shè)置 getter/setter

我有一個如下所示的類:export default class Car {    brand = '';    color = '';    fuel = '';    constructor(car) {        ...    }}如何在類變量上設(shè)置 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';展開片段它不會提醒我設(shè)置的值brand。
查看完整描述

1 回答

?
慕俠2389804

TA貢獻1719條經(jīng)驗 獲得超6個贊

問題在于命名約定,setter 和 public 屬性都是相同的,因此在設(shè)置它時實際上并沒有使用自定義 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)


查看完整回答
反對 回復(fù) 2023-01-06
  • 1 回答
  • 0 關(guān)注
  • 145 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號