Getter & Setter
▶ 사용자가 값을 마음대로 변경한다거나, 잘못 입력된 값을 바르게 수정할 때 주로 쓰인다.
▶ 무한루프를 방지하기 위해 보통 getter와 setter 내부의 필드명은 언더바( _ )를 사용하여 변수명을 다르게 지정한다.
▶ getter는 값을 리턴하는 역할을 한다.
▶ setter는 값을 설정하는 역할을 한다. 데이터를 받아와서 조건에 맞게 값을 수정한 후 필드에 값을 할당할 수도 있다.
class user {
// 생성자
constructor(firstName, lastname, age) {
// 필드
this.firstName = firstName;
this.lastname = lastname;
this.age = age;
}
// 메소드
// get은 값을 리턴하는 역할을 한다.
// get을 정의하는 순간 위에있는 필드(this.age)는 메모리에 있는 데이터를 읽어오는게 아니라 바로 get을 호출한다.
get age() {
return this._age;
}
// set은 값을 설정할수 있다. 따라서 데이터(value)를 받아와야한다.
// set을 정의하는 순간 메모리에 바로 값을 할당하는게 아니라 set을 호출하게 된다.
set age(value) {
this._age = value < 0 ? 0 : value; // 값을 마이너스로 잘못 입력했을때, 값을 자동으로 0으로 수정해준다.
}
}
// 오브젝트 생성
const user1 = new user('Seohong', 'kim', -100); // 나이가 -100인것은 말이 안된다.
// 오브젝트 필드값 호출
console.log(user1.age); // -100은 잘못된 값이므로 0으로 수정해서 값을 보여줌
'JaveScript' 카테고리의 다른 글
Class - static (0) | 2022.06.03 |
---|---|
Class - public & private (0) | 2022.06.03 |
Class (0) | 2022.06.03 |
||(OR), &&(AND), !(NOT) (0) | 2022.05.19 |
textContent & innerText (0) | 2022.05.18 |