본문 바로가기

Study Output for Myself/Javascript

[JS]Getter & Setter

Getter & Setter

외부에서는 '속성'처럼 보이지만 내부에서는 함수(method)가 작동하게 하는 문법

class에서 만든 instance 객체에서 사용가능.

함수이기 때문에 제약을 걸 수도 있고 하고 싶은 코드 원하는 대로 넣을 수 있음.
class User{
  constructor(age){
    this.name = 'Dahye'
    this._age = age;
  }

  set age(ageNumber){
    if(typeof ageNumber == number){
      this._age = ageNumber;
    }

  get age(){
    return `${this._age}살`
  }
}

 

class를 만들고

 

const dahye = new User(28);
dahye.age = 29;
dahye.age // 29살

 

이렇게 사용 할 수 있다.

 

메소드와 속성의 이름이 같기 때문에 속성의 이름앞에 _(under bar)를 붙여주는 게 일반적이다.
getter와 setter 둘다 함수이지만 객체에서는 속성처럼 사용한다.