문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
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(" | ||
</ | </ | ||