JavaScript
[JavaScript] 자바스크립트 - getter , setter 메소드
권군이
2021. 3. 6. 21:33
- getter(획득자) , setter (설정자)
: 접근자 프로퍼티
1. getter 메소드
: 프로퍼티를 읽을 때 동작
const numbers={
a:1,
b:2,
get sum(){
console.log('sum 함수가 실행됩니다');
return this.a + this.b;
}
};
console.log(numbers.sum);
numbers.b=5;
console.log(numbers.sum);
>>근데 number.b=5 에서 값이 변경될때 setter메소드가 없는데 어케 변경됐찌?
2. setter 메소드
: 프로퍼티에 값을 할당할 때 호출
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){
console.log('a가 바뀝니다.');
this._a=value;
this.calculate();
},
set b(value){
console.log('b가 바뀝니다.');
this._b=value;
this.calculate();
},
};
console.log(numbers.sum);
numbers.a=5; //5를 함수의 파라미터로 받아옴.
numbers.b=7;
numbers.a=9;
console.log(numbers.sum);
console.log(numbers.sum);
console.log(numbers.sum);
>잘모르겠다...