④ return 문 아랫부분은 무조건 operator일 때만 실행되므로 else 문으로 감쌀 필요가 없습니다.
const onClickNumber = (event) => {
if (!operator) {
numOne += event.target.textContent;
$result.value += event.target.textContent;
return;
}
// 이하 코드는 operator에 값이 저장되어 있는 경우에만 실행됨
if (!numTwo) {
$result.value = '';
}
numTwo += event.target.textContent;
$result.value += event.target.textContent;
};
이렇게 중첩 if 문이 사라졌습니다. else 문도 사라져서 읽기 어렵다고 생각할 수 있습니다. 하지만 익숙해지면 오히려 읽기 편합니다. 짧은 절차가 먼저 나온다고 생각하면 됩니다.
코드에서 몇 중첩을 허용할지에 대한 정답은 없습니다. 다만, 대부분 3중첩부터 코드가 읽기 어려워진다고 여기므로 3중첩까지는 가지 않기를 추천합니다.