7-3. 기본형을 객체로 바꾸기
적용 시점
절차
예시
❌Before
class User {
constructor({ grade, name, }) {
this._grade = grade;
this._name = name;
}
...
}
// grade가 보여주는 용도 이외에 grade를 기준으로 사람 수를 센다.
const users =
[
new User({ grade: 'A', name: 'Peanut' }),
new User({ grade: 'B', name: 'Fish' }),
new User({ grade: 'A', name: 'Tree' })
]
users.reduce((acc, cur) => {
if (cur.grade === 'A') {
return { ...acc, A: acc.A + 1 };
} else {
return { ...acc, B: acc.B + 1 }
}
}, {A: 0, B: 0})
// user의 grade를 가지고 특정 등급 이상인지 검사한다.
const user1 = new User({ grade: 'A', name: '아저씨' });
const getBetterGrade = (user, grade) => user.grade > grade ? user.grade : grade;
// user의 grade를 가지고 점수로 변환한다.
const user2 = new User({ grade: 'B', name: '아줌마' });
const gradeToPoint = (user) => {
...
}⭕After
Last updated