установщик вызовов в функции того же класса - PullRequest
0 голосов
/ 31 мая 2018

У меня TypeError this._arg не является функцией из этого кода ниже

class temp {
    constructor( _argx) {
        this._arg( _argx);
        console.log( this.arg);
    }
    get _arg() { return this.arg; }
    set _arg( value) { this.arg= value; }
}
let v= new temp( { 'foo': 'bar'});

Невозможно вызвать сеттер внутри класса?

Спасибо

1 Ответ

0 голосов
/ 31 мая 2018

Вы можете вызвать пару получатель / установщик, только если получатель возвращает функцию, которая затем выполняется вызовом.Чтобы вызвать сеттер, просто установите (=) его.

И по договоренности вы «скрываете» фоновое поле с помощью _, а не самого сеттера:

class temp {
  constructor(arg) {
    this.arg = arg;
    console.log(this.arg);
  }
  get arg() { return this._arg; }
  set arg(value) { this._arg = value; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...