[mjt] if문과 삼항연산자 각각 언제 사용하는게 좋을까?
if문과 삼항연산자 각각 언제 사용하는게 좋을까?
자바스크립트에서 조건부로 로직을 구현할 때 if
문과 삼항 연산자
를 사용했었다. 개인적으로 긴 로직일 경우 if
문을 사용하고 짧은 로직일 경우 삼항 연산자
를 사용했는데, 이번에 공부하며 언제 사용하면 좋을지 찾아보게 되었다.
if문: 가독성이 중요한 다중 조건 로직
- 조건이 복잡하거나, 여러 명령문을 실행해야 할 때 적합하다.
- 코드 가독성과 명확성이 중요한 상황에서 유리하다.
삼항 연산자: 짧고 간결한 조건
- 단순한 조건과 단일 표현식이 있을 때 적합하다.
- 짧고 간결한 코드 작성에 유리하다.
차이점 비교
특징 | if 문 | 삼항 연산자 |
---|---|---|
가독성 | 복잡한 조건과 여러 명령문에서 더 명확 | 간단한 조건에 적합, 길어지면 오히려 가독성 저하 |
표현식 가능 여부 | 표현식으로 사용할 수 없음 (return 필요) | 표현식으로 사용할 수 있어 변수에 바로 할당 가능 |
다중 조건 처리 | else if를 활용해 여러 조건 처리 가능 | 다중 조건은 중첩되어 가독성을 해칠 수 있음 |
언제 무엇을 사용함?
4-1) if문을 사용하는 상황
- 명령문이 여러 개인 경우
if (user.isLoggedIn) {
console.log("로그인 성공함");
redirectToDashboard();
}
- 조건이 복잡하거나 다단계인 경우
if (age < 13) {
console.log("어린이");
} else if (age < 20) {
console.log("청소년");
} else {
console.log("성인");
}
4-2) 삼항 연산자를 사용하는 상황
- 단일 값의 반환 또는 할당이 필요한 경우
const isAdult = age >= 18 ? true : false;
- UI 컴포넌트에서 간단한 조건부 렌더링
return isLoggedIn ? <Dashboard /> : <Login />;
요약
조건 처리 복잡도 | 적합한 방식 | 설명 |
---|---|---|
간단한 조건 | 삼항 연산자 | 단순한 조건의 표현식에 적합 |
복잡한 조건 | if 문 | 가독성과 유지보수를 위해 if 문이 더 적합 |
다중 명령문 처리 | if 문 | 여러 명령문 실행이 필요할 때 |
단일 값 반환 | 삼항 연산자 | 짧고 간결하게 조건부 값 반환 가능 |
회고
삼항 연산자
는 간결함하게 작성할 경우에 사용하고 if
문은 명확성과 가독성이 중요한 상황에서 사용하면 될 것 같다.