[객체] Getter 함수와 Setter 함수

TASON·2021년 6월 23일
1

자바스크립트

목록 보기
8/11

객체의 property(속성)는 두 종류로 나뉜다.
첫번째는 data property이다.
두번째는 accessor property(접근자 속성)이다.
접근자 속성의 본질은 함수인데, 값을 획득(get)하고 설정(set)라는 역할을 담당한다.
하지만 외부 스코프에서는 함수가 아닌 일반적인 속성처럼 보인다.

let person = {
  name: 'Tason',
  secondName: 'Kim',
  get fullName() {
    console.log(성함: `${name} ${kim}`);
  },  
  set fullName(value) {
    [this.name, this.secondName] = value.split(' ');
  }

person.fullName = 'Erik Lee';

console.log(person.name); // Erik 출력됨
console.log(person.secondName); Lee 출력됨

getter 메서드는 해당 속성을 읽을 때 동작한다.
setter 메서드는 인수가 하나인 함수이고, 속성에 값을 쓸 때 호출된다.
getter와 setter 메서드를 구현하면 객체에는 fullName이라는 가상 속성이 생긴다.
그리고 가상 속성을 읽고 쓸 수는 있지만 실제로는 존재하지 않는다.

profile
프론트엔드 개발자 / iOS 개발 스터디 중

0개의 댓글