8-2. 필드 옮기기
적용 시점
절차
예시
❌Before
class Customer {
constructor(name, discountRate) {
this._name = name;
this._discountRate = discountRate;
this._contract = new CustomerContract(dateToday());
}
get discountRate() { return this._discountRate; }
betcomPreferred() {
this.discountRate += 0.03;
...
}
applyDiscount(amount) {
return amount.subtract(amount.multiply(this._discountRate));
}
}
class CustomerContract {
constructor(startDate) {
this._startDate= startDate;
}
}⭕After
Last updated