사용자 도구

사이트 도구


wiki:javascript:javascript_note:js_object_accessors

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
wiki:javascript:javascript_note:js_object_accessors [2021/05/03 10:45]
emblim98 [Example]
wiki:javascript:javascript_note:js_object_accessors [2023/01/13 18:44] (현재)
줄 123: 줄 123:
 ====Example==== ====Example====
 <code javascript> <code javascript>
 +// Create an object: 
 +let person = { 
 +  firstName: "Elizabeth", 
 +  lastName: "Taylor", 
 +  language: "", 
 +  set lang(lang) { 
 +    this.language = lang.toUpperCase(); 
 +  } 
 +}; 
 +// Set a property using set: 
 +person.lang = "en"; 
 +// Display data from the object: 
 +document.getElementById("demo").innerHTML = person.language;  // EN
 </code> </code>
 \\ \\
줄 138: 줄 150:
 ====Example==== ====Example====
 <code javascript> <code javascript>
 +// Define an object
 +let obj = { counter: 0 };
 +
 +// Define Setters and Getters
 +Object.defineProperty(obj, "reset", {
 +  get: function () { this.counter = 0; }
 +});
 +
 +Object.defineProperty(obj, "increment", {
 +  get: function () { this.counter++; }
 +});
 +
 +Object.defineProperty(obj, "decrement", {
 +  get: function () { this.counter--; }
 +});
 +
 +Object.defineProperty(obj, "add", {
 +  set: function (value) { this.counter += value; }
 +});
 +
 +Object.defineProperty(obj, "subtract", {
 +  set: function (value) { this.counter -= value; }
 +});
 +
 +// Play with counter:
 +obj.reset;
 +console.log(obj); // {counter: 0}
 +
 +obj.add = 5;
 +console.log(obj); // {counter: 5}
 +
 +obj.subtract = 1;
 +console.log(obj); // {counter: 4}
 +
 +obj.increment;
 +console.log(obj); // {counter: 5}
 +
 +obj.decrement;
 +console.log(obj); // {counter: 4}
  
 +document.getElementById("demo").innerHTML = obj.counter;  // 4
 </code> </code>
  
/volume1/web/dokuwiki/data/attic/wiki/javascript/javascript_note/js_object_accessors.1620006342.txt.gz · 마지막으로 수정됨: 2022/03/10 19:52 (바깥 편집)