Devinora
@Devinora
Front-end web development

Как создать get и set в функции-конструкторе?

Обычно в объектах get или set объявляют так:
var obj = {
	get name() {
		return "Name";
	}
};


Можно через дескриптор:
var obj = {};

Object.defineProperty(obj, "name", {

  get: function() {
    return "Name";
  }
});


В конструкторах используют обычный метод(функцию) у который первое слово get, set или же делают единый метод, но как создать обычный get, set - не знаю.
  • Вопрос задан
  • 1021 просмотр
Решения вопроса 1
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
es6:
class Foo {
  get a() {
    // getter
  }
  set a(value) {
    // setter
  }
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
function Foo() {
  let counter = 0;
  
  Object.defineProperty(this, "counter", {
    get() {
      return counter++;
    }
  })
}

const foo = new Foo();

foo.counter;    // => 0
foo.counter;    // => 1
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы