:ledger: if문과 삼항연산자 각각 언제 사용하는게 좋을까?

자바스크립트에서 조건부로 로직을 구현할 때 if문과 삼항 연산자를 사용했었다. 개인적으로 긴 로직일 경우 if문을 사용하고 짧은 로직일 경우 삼항 연산자를 사용했는데, 이번에 공부하며 언제 사용하면 좋을지 찾아보게 되었다.

:one: if문: 가독성이 중요한 다중 조건 로직

  • 조건이 복잡하거나, 여러 명령문을 실행해야 할 때 적합하다.
  • 코드 가독성과 명확성이 중요한 상황에서 유리하다.

:two: 삼항 연산자: 짧고 간결한 조건

  • 단순한 조건과 단일 표현식이 있을 때 적합하다.
  • 짧고 간결한 코드 작성에 유리하다.

:three: 차이점 비교

특징 if 문 삼항 연산자
가독성 복잡한 조건과 여러 명령문에서 더 명확 간단한 조건에 적합, 길어지면 오히려 가독성 저하
표현식 가능 여부 표현식으로 사용할 수 없음 (return 필요) 표현식으로 사용할 수 있어 변수에 바로 할당 가능
다중 조건 처리 else if를 활용해 여러 조건 처리 가능 다중 조건은 중첩되어 가독성을 해칠 수 있음

:four: 언제 무엇을 사용함?

:pushpin: 4-1) if문을 사용하는 상황

  • 명령문이 여러 개인 경우
if (user.isLoggedIn) {
  console.log("로그인 성공함");
  redirectToDashboard();
}
  • 조건이 복잡하거나 다단계인 경우
if (age < 13) {
  console.log("어린이");
} else if (age < 20) {
  console.log("청소년");
} else {
  console.log("성인");
}

:pushpin: 4-2) 삼항 연산자를 사용하는 상황

  • 단일 값의 반환 또는 할당이 필요한 경우
const isAdult = age >= 18 ? true : false;
  • UI 컴포넌트에서 간단한 조건부 렌더링
return isLoggedIn ? <Dashboard /> : <Login />;

:five: 요약

조건 처리 복잡도 적합한 방식 설명
간단한 조건 삼항 연산자 단순한 조건의 표현식에 적합
복잡한 조건 if 문 가독성과 유지보수를 위해 if 문이 더 적합
다중 명령문 처리 if 문 여러 명령문 실행이 필요할 때
단일 값 반환 삼항 연산자 짧고 간결하게 조건부 값 반환 가능

:fire: 회고

삼항 연산자는 간결함하게 작성할 경우에 사용하고 if문은 명확성과 가독성이 중요한 상황에서 사용하면 될 것 같다.

:pushpin: 참고 문서