문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
wiki:javascript:javascript_note:js_object_accessors [2021/05/03 10:46] emblim98 [Example] |
wiki:javascript:javascript_note:js_object_accessors [2023/01/13 18:44] (현재) |
||
|---|---|---|---|
| 줄 150: | 줄 150: | ||
| ====Example==== | ====Example==== | ||
| <code javascript> | <code javascript> | ||
| + | // Define an object | ||
| + | let obj = { counter: 0 }; | ||
| + | // Define Setters and Getters | ||
| + | Object.defineProperty(obj, | ||
| + | get: function () { this.counter = 0; } | ||
| + | }); | ||
| + | |||
| + | Object.defineProperty(obj, | ||
| + | get: function () { this.counter++; | ||
| + | }); | ||
| + | |||
| + | Object.defineProperty(obj, | ||
| + | get: function () { this.counter--; | ||
| + | }); | ||
| + | |||
| + | Object.defineProperty(obj, | ||
| + | set: function (value) { this.counter += value; } | ||
| + | }); | ||
| + | |||
| + | Object.defineProperty(obj, | ||
| + | set: function (value) { this.counter -= value; } | ||
| + | }); | ||
| + | |||
| + | // Play with counter: | ||
| + | obj.reset; | ||
| + | console.log(obj); | ||
| + | |||
| + | obj.add = 5; | ||
| + | console.log(obj); | ||
| + | |||
| + | obj.subtract = 1; | ||
| + | console.log(obj); | ||
| + | |||
| + | obj.increment; | ||
| + | console.log(obj); | ||
| + | |||
| + | obj.decrement; | ||
| + | console.log(obj); | ||
| + | |||
| + | document.getElementById(" | ||
| </ | </ | ||