개발 개념 정리/javaScript

[Js] 조건부연산자 와 if-else문

개발하는 몽키 2025. 3. 27. 17:54

평소에 조건부 연산자보다 If-else 연산자를 많이 사용하는데 조건부 연산자를 알게 된 후 if-else 문 보다 더 간결하며 예쁘게 생겨서(?) 정리해보았습니다.

 

조건부 연산자

주어진 조건에 따라 두 가지 값 중 하나를 선택할 때 사용됩니다. 일반적으로 if-else 문을 간결하게 작성할 때 유용하게 사용되며 코드가 짧고 명확해지는 장점이 있습니다.

 

기본 문법

조건식 ? 참일 때 실행할 코드 : 거짓일 때 실행할 코드;
let food = 'apple';
let answer = food ? 'apple' : 'banana';

위 코드는 food가 존재한다면 'apple'이 선택되고 그렇지 않다면 'banana'가 선택됩니다.

 

중첩 조건부 연산자

여러 조건을 처리할 때 삼항 연산자를 중첩하여 사용할 수 있습니다. 조건이 많을 때 여러 삼항 연산자를 사용하여 간결하게 작성할 수 있다는 장점이 있습니다.

let score = prompt('점수를 입력해주세요', 88);

let result = (score < 20) ? '분발하세요' :
    (score < 50) ? '열심히해봐요' :
    (score < 80) ? '잘했어요' :
    '훌륭합니다';

alert(result);

위 코드는 score가 주어진 조건에 따라 다르게 메시지를 출력합니다. score가 20 미만이면 '분발하세요', 50 미만이면 '열심히 해봐요', 80 미만이면 '잘했어요', 그 외에는 '훌륭합니다'라는 메시지가 출력됩니다.

 

중첩 조건부 연산자와 if-else 문 비교

삼항 연산자를 사용한 예제를 if-else문을 사용해 동일하게 바꿀 수도 있습니다.

let score = prompt('점수를 입력해주세요', 88);
let result;

if (score < 20) {
    result = '분발하세요';
} else if (score < 50) {
    result = '열심히해봐요';
} else if (score < 80) {
    result = '잘했어요';
} else {
    result = '훌륭합니다';
}

alert(result);

이 코드는 if-else 문으로 동일한 조건을 처리하는 방식입니다. 확실히 중첩 다중 연산자 보다 코드가 길어지지만, 조건을 명시적으로 구분할 수 있다는 장점을 지니고 있습니다.

 

중첩 조건부 연산자 vs if-else

  • 삼항 연산자코드가 간결하고 한 줄로 처리할 수 있어 간단한 조건 처리에 유용합니다.
  •  조건이 많거나 복잡할 경우 중첩 조건부 연산자를 많이 사용하면 코드가 읽기 어려워질 수 있습니다. 이때에 if-else 문을 사용하는 것이 명확하고 가독성이 높습니다.