JS Coding Questions Logo
JS Coding Questions
#221💼 Interview💻 Code

Can I add getters and setters using defineProperty method

Advertisement

728x90

Yes, You can use the Object.defineProperty() method to add Getters and Setters. For example, the below counter object uses increment, decrement, add and subtract properties,

javascript
1var obj = { counter: 0 };
2
3  // Define getters
4
5Object.defineProperty(obj, "increment", {
6  get: function () {
7  this.counter++;
8  return this.counter;
9  },
10});
11
12Object.defineProperty(obj, "decrement", {
13  get: function () {
14  this.counter--;
15  return this.counter;
16  },
17});
18
19// Define setters
20
21Object.defineProperty(obj, "add", {
22  set: function (value) {
23  this.counter += value;
24  },
25});
26
27Object.defineProperty(obj, "subtract", {
28  set: function (value) {
29  this.counter -= value;
30  },
31});
32
33obj.add = 10;
34
35obj.subtract = 5;
36
37console.log(obj.increment); //6
38
39console.log(obj.decrement); //5

Advertisement

Responsive Ad
🎯 Practice NowRelated Challenge

JavaScript Coding Exercise 51

Test your knowledge with this interactive coding challenge.

Start Coding

Advertisement

728x90
221of476
Can I add getters and setters using defineProperty method | JSCodingQuestions.com