JS - switch, break, continue

지송현·2022년 9월 25일
0

JS

목록 보기
4/9
post-thumbnail

이전 포스트에 이어 break와 continue에 대해 알아보기 전에, 이것들이 많이 쓰이는 switch 조건문에 대해 먼저 알아보자.


1. switch 조건문

조건문에서 비교할 값이 많은 경우, if else를 반복 사용하는 것보다 switch문을 사용하면 가독성을 높일 수 있다.

if else문의 조건식이 불리언인 반면 switch문의 조건식은 불리언보다는 문자열, 숫자 등의 값인 경우가 많다. 또한 case 뒤에는 상수만이 올 수 있다.

기본구조는 다음과 같다.

switch (조건식) {
  case 상수1:
    실행할 코드;
    break;
  case 상수2:
    실행할 코드2;
    break;
  ...
  default:
    실행할 코드3;
}

조건의 값이 상수1이면 코드1을 실행하고 상수2면 코드2를 실행한다. 어느것도 아니라면 default의 코드를 실행한다. 만약 default를 설정하지 않았는데 모든 조건을 만족하지 않는 값이 나온다면 undefined가 나온다.

  • 예시)



그런데 여기서 break 없이 switch문을 쓴다면 어떻게 될까?
아래 코드를 확인해 보자.

위와 같이 조건을 만족하는 코드를 실행한 뒤, 조건과 상관없이 이후의 모든 코드를 실행하게 된다.
따라서 switch문을 쓸 때는 break가 필수적이다.

참고로 여러가지의 조건에서 같은 값을 내보낼 경우 다음과 같은 코드도 가능하다.

function a(val) {
  var answer = "";
  switch (val){
    case 1:
    case 2:
    case 3: 
      answer = "Low"; 
      break;
    case 4:
    case 5:
    case 6: 
      answer = "Mid";
      break;
    case 7:
    case 8: 
    case 9:
      answer = "High"; 
      break;
  }
  return answer;
}

a(1);      //Low
a(4);      //Mid
a(8);      //High


2. break

이제 break를 보자.
break는 반복문이나 조건문 내부의 코드를 중지시키고 탈출하기 위한 문법이다.

  • 예시)
for (let i = 0; i <10; i++) {
  console.log(i);
  if (i == 5) {
    break;
  }
}

위 코드에서 break가 없었다면 0부터 9까지 출력되었을 것이다. 그러나 i가 5일 때 break를 입력함으로써 i가 5가 되는 순간에 반복문은 종료된다. 이때 console.log의 위치에 따라 달라지겠지만 위의 코드에서는 5까지 출력된 후 반복문이 종료된다. (만약 console.log의 위치가 break 아래에 있었다면 4까지 출력되었을 것이다.)



3. continue

continue는 반복문이나 조건문의 해당 턴을 패스한다고 생각하면 된다. 완전히 종료시키는 break와 달리, continue는 해당 턴만 스킵하고 다음 턴으로 넘기게 된다.

  • 예시)

i가 5인 경우만 코드를 실행하지 않고 반복문 자체는 계속되는 것을 볼 수 있다. 따라서 특정 조건에서만 반복문을 실행시키고 싶지 않을 때 유용하다.

profile
백엔드 개발자

0개의 댓글