class Player {
numLives = 10
#score = 0
constructor(first, last) {
this.#onNewbee()
this.first = first
this.last = last
}
get fullName() {
return `whose name is ${this.first} of house ${this.last}`
}
set fullName(newName) {
const [first, last] = newName.split(" ")
this.first = first
this.last = last
console.log('FullName has changed')
}
set firstName(newFirst) {
this.first = newFirst
console.log("FirstName has changed")
}
get score() {
return this.#score
}
set score(newScore) {
if(newScore < 0) {
throw new Error("점수는 양수여야 합니다.")
}
this.#score = newScore
}
setScore(newScore) {
this.#score = newScore
}
loseLife() {
this.numLives -= 1
}
#onNewbee() {
console.log("새 플레이어가 생성되었습니다.")
}
}
getter는 인스턴스 내 특정 값을 가져오기 위한 방법을 의미하고,
setter는 인스턴스 내 특정 값을 변경하기 위한 방법을 의미한다.
자바스크립트 클래스에서는 get과 set을 이용해 각각 getter와 setter를 구현할 수 있다.
get과 set을 이용해 구현된 getter, setter는 메서드의 역할을 하지만 위 사진처럼 함수호출 없이 직접 프로퍼티명을 쓰거나 할당연산자를 사용하는 것 만으로도 기능을 이용할 수 있다..
'Javascript' 카테고리의 다른 글
클래스) 자바스크립트 클래스 의존성 주입 (1) | 2024.01.28 |
---|---|
클래스) 정적 프로퍼티, 메서드 (0) | 2023.03.19 |
클래스) 클래스 필드와 프라이빗 필드 (0) | 2023.03.19 |
자바스크립트 함수 주석 (기본기능) (0) | 2023.03.10 |
클린코드 연습 (2) - if 가공(+ 드 모르간 법칙), promise 활용, 함수 분리 (1) | 2023.02.05 |