rhanziy

JS - getter, setter로 데이터 다루기 본문

Html_css_js

JS - getter, setter로 데이터 다루기

rhanziy 2022. 12. 22. 16:39

오브젝트나 클래스를 만들면 데이터를 출력/수정할 때

데이터의 무결성을 위해 함수를 만들어서 다룬다.

거기서 get과 set을 이용해 소괄호를 안쓰고도 기능을 실행시킬 수 있다.

함수의 프로퍼티화 라고 함.

        var 사람  = {
            name: 'Park',
            age : 29,
            get nextAge(){
                return this.age + 1; // return이 있어야함. 파라미터x
            },
            set setAge(age){
                this.age = parseInt(age); // 파라미터가 1개 있어야함.
            }
        }

        // property화. 소괄호를 붙이지 않고도 기능실행
        사람.setAge = '20'; 
        사람.nextAge;

주석에 써놨다싶이 get을 쓸 땐 return을 명시해줘야하고, 파라미터는 작성하면안됨

set을 쓸 땐 파라미터가 1개 필요하다. 그냥 생각해보면 당연한 거

 

        class 사람 {
            constructor(){
                this.name = 'Park';
                this.age = 29;
            }
            get nextAge(){
                return this.age + 1
            }
            set setAge(age){
                this.age = age;
            }
        }

        사람1 = new 사람();

class만들때도 사용법은 똑같다.

Comments