[JavaScript] switch와 else if 차이점

김서진·2024년 1월 31일

프로그래머스 문제를 풀면서 else if문과 switch문의 차이점이 궁금해져서 공부한 내용을 정리


차이점은 크게 나누면 3가지다

1. 사용 목적

• switch 문은 하나의 변수에 대한 다양한 값에 따라 다른 동작을 수행할 때 사용

• else if 문은 여러 조건 중 하나를 선택하여 실행할 때 사용

2. 구문의 형태

let color = "red";

switch (color) {
  case "red":
    console.log("빨간색을 선택");
    break;
  case "blue":
    console.log("파란색을 선택");
    break;
  default:
    console.log("다른 색을 선택");
}

switch 문은 switch, case, break, default 등의 특별한 키워드를 사용

let age = 25;

if (age < 18) {
  console.log("미성년자");
} else if (age >= 18 && age < 65) {
  console.log("성인");
} else {
  console.log("노인.");
}

else if 문은 if, else if, else 키워드를 사용하여 조건을 표현

3. 검사 방식

switch

switch 문은 값이 정확히 일치하는지 확인한다. 즉, 일치하는 case를 찾을 때까지 다음 case들을 실행하지 않는다.

일치하는 case를 찾으면 해당 case의 코드를 실행하고, break 문을 만날 때까지 아래의 모든 case 코드가 순차적으로 실행된다.

이를 방지하기 위해 break 문을 사용하여 switch 블록을 빠져나갈 수 있습니다.

매치되는 case가 없을 경우에 대비해 default 블록이 실행됩니다.

else if

else if 문은 위에서부터 아래로 순차적으로 조건을 검사한다.

처음으로 참이 되는 조건의 블록이 실행되고 나머지 else if 블록들은 검사하지 않는다.

각 else if 조건은 독립적으로 검사되기 때문에 여러 개의 조건 중에서 하나만 참이더라도 해당 블록이 실행된다.

switch 문은 값을 정확히 일치시켜야 하며, 여러 case의 코드를 실행할 때 break를 사용하여 break 문을 만날 때까지 아래의 모든 case 코드가 순차적으로 실행되는 것을 방지한다.

else if 문은 조건이 참이면 해당 블록을 실행하고 나머지 조건들을 검사하지 않기 때문에, 독립적인 조건들을 처리하기에 유용하다.

결론

둘 다 다양한 조건을 다루는 방법이지만, 특정 상황에서는 switch 문이 더 가독성이 좋고 효율적일 수 있으며, 다른 상황에서는 else if 문이 더 적합할 수 있습니다.

0개의 댓글