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);

 

 getter 메소드

 

 

 

>>근데 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);

 

 

 setter 메소드

 

 

>잘모르겠다...