데이터를 수정하거나 출력할 때 직접 원본 데이터를 만지는게 아니라 함수로 간접적으로 다루는게 대세를 이루고 있다.
이유 : 데이터의 무결성을 보존하기 위해.
"원본 데이터는 immutable 해야 한다."
getter, setter를 사용하면 object 내의 함수들을 괄호없이 쓸 수 있다.
get이 붙은 함수들을 getter라고 한다.
데이터를 가져올 함수
앞에 get을 붙여준다.
소괄호 없이 데이터를 꺼낼 수 있다.
var 사람 = {
name : 'Kim',
age : 30,
get nextAge(){
return this.age + 1
}
}
console.log( 사람.nextAge )
set이 붙은 함수들을 setter라고 한다.
데이터 수정을 위한 함수
앞에 set을 붙여준다.
괄호 대신 등호로 데이터를 입력해줄 수 있다.
var 사람 = {
name : 'Kim',
age : 30,
set setAge(나이){
this.age = parseInt(나이)
}
}
사람.setAge = 40;
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;