# getter, setter

Doozuu·2022년 11월 15일
0

Javascript

목록 보기
24/99

필요성

데이터를 수정하거나 출력할 때 직접 원본 데이터를 만지는게 아니라 함수로 간접적으로 다루는게 대세를 이루고 있다.

이유 : 데이터의 무결성을 보존하기 위해.

"원본 데이터는 immutable 해야 한다."


장점

  1. object 안의 데이터가 복잡할 수록 함수를 만들어놓아야 데이터를 꺼내기 쉽다.
  2. 내부에 있는 변수를 직접 건드리지 않아서 실수를 방지할 수 있어 안전하다.

특징

getter, setter를 사용하면 object 내의 함수들을 괄호없이 쓸 수 있다.



getter

get이 붙은 함수들을 getter라고 한다.
데이터를 가져올 함수 앞에 get을 붙여준다.
소괄호 없이 데이터를 꺼낼 수 있다.

유의사항:

  1. 파라미터가 있으면 안됨.
  2. 함수 내에 return을 가져야 함.
var 사람 = {
  name : 'Kim',
  age : 30,
  get nextAge(){
    return  this.age + 1  
  }
}

console.log( 사람.nextAge )

setter

set이 붙은 함수들을 setter라고 한다.
데이터 수정을 위한 함수 앞에 set을 붙여준다.
괄호 대신 등호로 데이터를 입력해줄 수 있다.

유의사항:

  1. 파라미터가 "1개" 있어야 함.
var 사람 = {
  name : 'Kim',
  age : 30,
  set setAge(나이){
    this.age = parseInt(나이)
  }
}

사람.setAge = 40;


class 안에서 get, set 사용하기

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

var 사람1 = new 사람();

사람1.nextAge;
사람1.setAge = 22;
profile
모든게 새롭고 재밌는 프론트엔드 새싹

0개의 댓글