제로초 JAVASCRIPT 2-14-(2) switch

Yumin Jung·2023년 7월 21일
0

제로초의 JAVASCRIPT

목록 보기
17/18

switch

if문을 좀 더 편하게 만들었다고 보면 된다.

 let value = 'B';
  switch (value) {
    case 'A':
      console.log('A');
    case 'B':
      console.log('B');
    case 'C':
      console.log('C');
  }

결과 : B, C

switch 옆의 소괄호 조건식의 값이 case의 비교 조건식 값과 일치(==)하면 해당 실행문이 실행된다.
여기서 특이점이 있다.
switch문은 일치하는 case를 발견하면 일치 여부와 상관없이 그 아래 case들도 전부다 실행된다. 그래서 원하는 결과만 얻으려면 수동으로 case에서 빠져나와야하는데, 이때 break문이 사용된다.

let value = 'B';
  switch (value) {
    case 'A':
      console.log('A');
      break;
    case 'B':
      console.log('B');
      break;
    case 'C':
      console.log('C');
      break;
  }

결과 : B

또한, 어떠한 case도 일치하지 않을 때 실행하는 case는 default이다.

  switch (value) {
    case 'A':
      console.log('A');
      break;
    case 'B':
      console.log('B');
      break;
    case 'C':
      console.log('C');
      break;
    default:
      console.log('아무것도 일치하지 않음');
  }

결과 : 아무것도 일치하지 않음

if문 vs switch문

switch문의 case는 else if와 비슷하고, default는 else와 비슷하다고 생각할 수도 있다. 실제로 if 문이 === 연산자만 사용한다면 switch 문으로 쉽게 대체할 수 있다.

  if (fruit === '사과') {
    console.log('사과입니다!');
  } else if (fruit === '배') {
    console.log('배입니다!');
  } else if (fruit === '포도') {
    console.log('포도입니다!');
  } else {
    console.log('뭔지 모르겠습니다!');
  }

한 가지 다른 점이 있다면 else는 if나 else if 뒤에만 나오지만, default는 어디에나 위치할 수 있다.

   switch (fruit) {
    default:
      console.log('뭔지 모르겠습니다!');
      break;
    case '사과':
      console.log('사과입니다!');
      break;
    case '배':
      console.log('배입니다!');
      break;
    case '포도':
      console.log('포도입니다!');
      break;
      }
profile
문과를 정말로 존중해

0개의 댓글