TypeScript - Switch 문장: 초보자 가이드

안녕하세요, 미래의 코딩 슈퍼스타! 오늘 우리는 TypeScript에서 가장 유용한 제어 흐름 구조 중 하나인 switch 문장에 대해 배울 거예요. 코드를 한 줄도 작성해 본 적이 없더라도 걱정 마세요 - 저는 이 여정을 단계별로 안내해 드릴게요. 수년간 수많은 학생들을 가르친 경험을 바탕으로 말이죠. 그럼 애호가 음료를 한 잔 마시며 시작해 보세요!

TypeScript - Switch Statement

Switch 문장이란?

switch 문장의 구체적인 내용에 들어가기 전에, switch 문장이 무엇이고 왜 이렇게 유용한지 이해해 보겠습니다. 상상해 보세요. 당신이 식당의 웨이터입니다. 고객이 들어와서 요리를 주문합니다. 그들이 주문한 것에 따라, 주방의 다른站位으로 가야 합니다. 이 precisely switch 문장이 프로그래밍에서 하는 일입니다 - 값을 받아서 그 값에 따라 실행할 코드를 결정합니다.

문법: Switch 문장의 레시피

이제 switch 문장의 문법을 살펴보겠습니다. 이것은 우리가 자신만의 switch 문장을 만들기 위해 따를 레시피입니다.

switch (expression) {
case value1:
// 코드를 실행합니다
break;
case value2:
// 코드를 실행합니다
break;
...
default:
// 어떤 케이스도 일치하지 않으면 실행할 코드
}

이를 간단히 설명하자면:

  1. switch: 이 키워드는 TypeScript에게 switch 문장을 시작하고 있음을 알립니다.
  2. (expression): 이는 우리가 점검하는 값입니다.
  3. case value1:: expression이 이 값과 일치하면 그 아래 코드가 실행됩니다.
  4. break: 이는 TypeScript에게 이 케이스를 마치고 switch 문장을 종료하도록 합니다.
  5. default: 이는 if-else 문장의 "else"와 같습니다. 다른 케이스와 일치하지 않으면 실행됩니다.

플로차트: Switch 문장의 길찾이

switch 문장이 어떻게 작동하는지 시각적으로 이해하기 위해 플로차트를 보겠습니다:

+-------------+
|   시작     |
+-------------+
|
v
+-------------------+
| expression 평가   |
+-------------------+
|
v
+---------------------+
| 케이스 1과 일치하나요?|
+---------------------+
|       |
예|     아니요|
|       |
v       v
+------------+  +---------------------+
| 케이스 1 코드 블록 실행| | 케이스 2와 일치하나요? |
+------------+    |       |
|         예|     아니요|
|           |       |
|           v       v
|    +------------+  +-----------+
|    | 케이스 2 코드 블록 실행|  |  더 많은 케이스 |
|    +------------+  +-----------+
|           |              |
|           |              |
|           |              v
|           |        +-----------+
|           |        | 기본 코드 블록 실행 |
|           |        |           |
|           |        +-----------+
|           |              |
v           v              v
+-------------+
|    종료      |
+-------------+

이 플로차트는 TypeScript가 각 케이스를 평가하고 일치하는 코드 블록을 실행하는 방법을 보여줍니다.

예제: 프로그래머의 하루

이제 실제 예제로 들어가 보겠습니다. 상상해 보세요. 우리는 요일에 따라 조언을 주는 프로그램을 만들고 있습니다. switch 문장을 어떻게 사용할 수 있을까요?

let day: string = "Monday";
let advice: string;

switch (day) {
case "Monday":
advice = "주간을 강하게 시작하세요!";
break;
case "Tuesday":
advice = "momentum을 유지하세요!";
break;
case "Wednesday":
advice = "반쯤 왔어요!";
break;
case "Thursday":
advice = "금요일 전에 한 번 더 힘을 내세요!";
break;
case "Friday":
advice = "TGIF! 강하게 마무리하세요!";
break;
case "Saturday":
case "Sunday":
advice = "주말을 즐기세요!";
break;
default:
advice = "유효한 요일이 아닙니다!";
}

console.log(advice);

이 예제에서:

  1. 우리는 day 변수를 선언하고 "Monday"로 설정합니다.
  2. switch 문장을 만들어 day의 값을 점검합니다.
  3. 각 요일에 대해 다른 조언을 설정합니다.
  4. 토요일과 일요일은 같은 조언을 가지므로 케이스를 중첩합니다.
  5. 잘못된 요일이 입력되면 기본 케이스를 통해 처리합니다.

이 코드를 실행하면 "주간을 강하게 시작하세요!"가 출력됩니다.

Break 문장의 중요성

이제 여러분은 "break" 문장에 대해 궁금할 수도 있을 것입니다. 잘못된 친구, break 문장을 빼먹었을 때 어떤 일이 일어나는지 보여드리겠습니다:

let fruit: string = "apple";
let response: string;

switch (fruit) {
case "apple":
response = "일일이 사과 먹고 의사를 멀리하라!";
case "banana":
response = "바나나는 칼륨이 풍부합니다!";
case "orange":
response = "오렌지는 비타민 C가 가득하다!";
default:
response = "이 과일에 대해 잘 알지 못합니다.";
}

console.log(response);

이 코드가 무엇을 출력할까요? "이 과일에 대해 잘 알지 못합니다."를 선택했을 때 맞습니다! 하지만 왜 그런가요?

break 문장이 없으면 TypeScript는 일치한 케이스 이후의 모든 코드를 계속 실행합니다. 이를 "fall-through" 동작이라고 합니다. 우리의 예제에서는 "apple" 케이스가 일치하면, 그 다음 케이스로 이동하여 기본 케이스에 도달합니다.

이 동작은 특정 상황에서 유용할 수 있지만, 종종 원하지 않는 결과를 초래할 수 있습니다. 따라서 break 문장을 기억하는 것이 중요합니다!

결론: 코드에서 Switch를 활용하기

그렇다면 여러분, TypeScript의 switch 문장을 통해 여행을 마친 것입니다! switch 문장의 기본 문법에서 그 내부 작동 방식과 잠재적인 함정까지 다루었습니다. switch 문장은 코드의 흐름을 다양한 값에 따라 제어하는 훌륭한 도구입니다.

프로그래밍 여정을 계속하면서 switch 문장을 귀중한 도구로 활용할 것입니다. 코드를 깨끗하고 효율적으로 만들 수 있을 것입니다.

계속 연습하고, 호기심을 가지고, 당신이 프로처럼 코드를 switch할 때까지 기다리지 마세요! 행복하게 코딩하며, 프로그래밍의 세계에서 매일 새로운 것을 배울 기회를 기억하세요!

메서드 설명
switch switch 문장을 시작합니다
case switch 문장 내의 케이스를 정의합니다
break 케이스가 일치하면 switch 문장을 종료합니다
default 다른 케이스와 일치하지 않으면 실행할 기본 케이스를 정의합니다

Credits: Image by storyset