개발을 진행하다 보면, 조건문이 여러번 중첩되는(nesting) 경우가 발생
// ...
if (아이디_중복아님) {
if (아이디_길이적절) {
if (비번_길이적절) {
가입();
} else {
거절('비번 길이 부적절');
}
} else {
거절('아이디 길이 부적절');
}
} else {
거절('아이디 중복');
}
위와 같이 중첩되는 조건문이 많아지면 가독성이 떨어지며, 그만큼 유지보수도 힘들어짐
&&
, ||
연산자를 이용해서 조건식을 축약// ...
if (아이디_중복아님 && 아이디_길이적절 && 비번_길이적절) {
가입();
} else {
// 로직이 기존과 달라질 수 있음
거절();
}
return
으로 조기 종료하면 성능상 이점const signUp = () => {
if (!아이디_중복아님) return 거절('아이디 중복');
if (!아이디_길이적절) return 거절('아이디 길이 부적절');
if (!비번_길이적절) return 거절('비번 길이 부적절');
return 가입();
}