const test = (event) => {
if (operator) {
if (!secondNumber) {
$result.value = '';
}
secondNumber += event.target.textContent;
} else {
firstNumber += event.target.textContent;
}
$result.value += event.target.textContent;
};
if문 다음에 나오는
공통된 절차 $result.value += event.target.textContent;
를 각 분기점 내부에 넣습니다.
const test = (event) => {
if (operator) {
if (!secondNumber) {
$result.value = '';
}
secondNumber += event.target.textContent;
$result.value += event.target.textContent; // 안으로 넣음
} else {
firstNumber += event.target.textContent;
$result.value += event.target.textContent; // 안으로 넣음
}
};
else 부분이 더 짧기 때문에 서로 바꿔주고, operator
부분에 !
를 붙여줍니다.
const test = (event) => {
if (!operator) { // ! 붙임
firstNumber += event.target.textContent;
$result.value += event.target.textContent;
} else {
if (!secondNumber) {
$result.value = '';
}
secondNumber += event.target.textContent;
$result.value += event.target.textContent;
}
};
const test = (event) => {
if (!operator) {
firstNumber += event.target.textContent;
$result.value += event.target.textContent;
return; // return 추가, return 으로 함수를 종료하므로 뒤에 else가 필요없음
} else {
if (!secondNumber) {
$result.value = '';
}
secondNumber += event.target.textContent;
$result.value += event.target.textContent;
}
};
최종
const test = (event) => {
if (operator) {
firstNumber += event.target.textContent;
$result.value += event.target.textContent;
} // else 제거함
if (!secondNumber) {
$result.value = '';
}
secondNumber += event.target.textContent;
$result.value += event.target.textContent;
};
요약
1. 공통된 절차를 각 분기점 내부에 넣는다.
2. 분기점에서 짧은 절차부터 실행하게 if문을 작성합니다.
3. 짧은 절차가 끝나면 return(함수의 내부의 경우)이나 break(for문 내부의 경우)로 중단한다.
4. else를 제거한다.