Getter 와 Setter
Getter 와 Setter 은 자체적으로 값을 갖고 있지 않고, 객체의 프로퍼티를 읽거나 조작할 때 사용하는 접근자 함수이다.
Getter 는 메서드 이름 앞에 get 키워드를 사용해 정의하고,
Setter 는 메서드 이름 앞에 set 키워드를 사용해 정의한다.
const person = {
firstName : 'Asher',
lastName : 'Park',
// getter
get fullName() {
return `${this.firstName} ${this.lastName}`;
}
// setter
set fullName(name) {
[this.firstName, this.lastName] = name.split(' ');
}
};
console.log(person.fullName); // "Asher Park"
// Setter 호출
person.fullName = 'John Park';
위의 코드에서,
firstName 과 lastName 은 일반적인 데이터 프로퍼티고,
get / set 이 붙은 함수 fullName 이 접근자 프로퍼티다.
따라서,
Getter 는 함수처럼 호출하는 것이 아니라 프로퍼티처럼 참조하는 형식으로 사용되며,
Setter 도 호출하는 것이 아니라, 값을 할당하는 형식으로 사용된다.