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); //5Advertisement
Responsive Ad
🎯 Practice NowRelated Challenge
JavaScript Coding Exercise 51
Test your knowledge with this interactive coding challenge.
Start CodingAdvertisement
728x90
221of476