
우선, 중첩된 조건문을 사용하는 코드를 확인해 봅시다.
function compare(num) {
if (num === 0) {
console.log("num의 값이 0입니다.");
} else if (num < 0) {
console.log("num의 값이 0보다 작습니다.");
} else {
if (num >= 10) {
console.log("num의 값이 10보다 크거나 같습니다.");
} else {
console.log("num의 값이 0보다 크고 10보다 작습니다.");
}
}
}
위 코드는 if-else 문이 중첩되어 있어 가독성이 떨어집니다. 이를 Early Return 패턴을 적용해 개선할 수 있습니다.
function compare(num) {
if (num === 0) {
return "num의 값이 0입니다.";
}
if (num < 0) {
return "num의 값이 0보다 작습니다.";
}
if (num >= 0) {
return "num의 값이 10보다 크거나 같습니다.";
}
return "num의 값이 0보다 크고 10보다 작습니다.";
}
위 코드처럼 조건을 만족하면 즉시 return하여 불필요한 else를 없앨 수 있습니다.
이를 통해 중첩된 조건문을 줄이고, 가독성을 높이며, 코드의 흐름을 단순화할 수 있습니다.
우테코 프리코스에서는 else를 사용하지 않는 것을 요구사항으로 명시하기도 하는데,
그 이유는 불필요한 중첩을 방지하여 코드를 읽기 쉽게 하기 위함입니다.
하지만 무조건 Early Return을 적용하는 것이 항상 좋은가?에 대해서는 고민이 필요합니다.

if-else보다 흐름을 이해하기 어려울 수 있다.Early return 패턴은 적절히 활용하면 가독성과 유지보수성을 높일 수 있는 강력한 패턴이지만,
너무 남용하면 오히려 코드 흐름을 이해하기 어렵게 만들 수도 있습니다.
따라서 상황에 맞게 사용하는 것이 중요합니다!