OOP getter setter

lim1313·2021년 9월 30일
0

TILPLUS

목록 보기
27/40

getter setter

접근자 프로퍼티(accessor property)

접근자 프로퍼티는 'getter(획득자)'와 ‘setter(설정자)’ 메서드로 표현된다. 객체 리터럴 안에서 getter와 setter 메서드는 get과 set으로 나타낼 수 있다.

class User {
  constructor(firstName, lastName, age) {
    this.firstName = firstName;
    this.lastName = lastName;
    this.age = age;
  }

  get age() {
    return this._age;
  }

  set age(value) {
    if (value < 0) {
      throw Error('age can not be negative');
    }
    this._age = value < 0 ? 0 : value;
    this._age = value;
  }
}

const user1 = new User('ste', 'job', -1);
console.log(user1.age);

let obj = {
  a: 1,
  b: 2,

  get num() {
    return `${this.a} ${this.b}`;
  },

  set num(value) {
    if (value < 0) {
      return (this.a = value + 5);
    }
    this.a = value;
  },
};

obj.num = -1;
console.log(obj.a);
profile
start coding

0개의 댓글