Getter함수와 Setter함수 (javascript)

들블리셔·2022년 7월 13일
0

이런 객체가 있다고 가정해보자

 const numbers = {
   _a: 1,
   _b: 2,
   sum: 3,
   calculate() {
     console.log('calculate');
     this.sum = this._a + this._b;
   },
   get a() {
     return this._a;
   },
   get b() {
     return this._b;
   },
   set a(value) {
     this._a = value;
     this.calculate();
   },
   set b(value) {
     this._b = value;
     this.calculate();
   }         
 }



Getter 함수

getter함수는 함수 앞에 get이라는 문구를 붙여준다.
함수 안에 반드시 조회하고자 하는 값을 반환해줘야 한다.
getter함수는 특정 값을 조회할 때 사용한다.

console.log(numbers.a); // 1

numbers.a()가 아닌, numbers.a로 조회를 해도 함수가 실행 되고
우리가 조회하기 위해 반환 하고자 하는 결과값이 출력된다!!



Setter 함수

setter함수는 함수 앞에 set이라는 문구를 붙여준다.
반드시 파라미터를 사용해야 한다.
setter함수는 특정 값을 바꾸고 싶을때 사용한다.

numbers.a = 7;
console.log(numbers.sum);  //9

set a() 함수의 파라미터값에 7이 들어가게 되므로,
._a = 7이 되고 calculate함수가 호출 된다.
calculate함수 안에 연산된 sum의 값은 9가 된다.




getter함수와 setter함수를 사용하지 않고서도 값을 조회하고 바꿀 수 있지만, 바꾸거나 조회할때 한 만큼 계속 console이 찍히더라는것을 알았다.

profile
나의 공부방

0개의 댓글