logo

TypeScript 스위치 문

TypeScript switch 문은 여러 조건에서 하나의 문을 실행합니다. Boolean, number, byte, short, int, long, enum 유형, 문자열 등의 값을 기반으로 표현식을 평가합니다. switch 문에는 각 값에 해당하는 하나의 코드 블록이 있습니다. 일치하는 항목이 발견되면 해당 블록이 실행됩니다. switch 문은 if-else-if 래더 문처럼 작동합니다.

switch 문에서는 다음 사항을 기억해야 합니다.

  • switch 문 안에는 N개의 경우가 있을 수 있습니다.
  • 케이스 값은 고유해야 합니다.
  • 케이스 값은 일정해야 합니다.
  • 각 Case 문에는 코드 끝에 break 문이 있습니다. break 문은 선택 사항입니다.
  • switch 문에는 끝에 기록되는 기본 블록이 있습니다. 기본 문은 선택 사항입니다.

통사론

 switch(expression){ case expression1: //code to be executed; break; //optional case expression2: //code to be executed; break; //optional ........ default: //when no case is matched, this block will be executed; break; //optional } 

switch 문에는 다음 내용이 포함됩니다. switch 문 안에는 여러 가지 경우가 있을 수 있습니다.

사례: 대소문자 뒤에는 상수 하나만 오고 그 다음에는 세미콜론이 와야 합니다. 다른 변수나 표현식을 사용할 수 없습니다.

부서지다: Case 블록을 실행한 후 switch 문에서 나오려면 블록 끝에 break를 작성해야 합니다. break를 쓰지 않으면 후속 케이스 블록에 일치하는 값을 사용하여 실행이 계속됩니다.

기본: 기본 블록은 스위치 문의 끝에 작성되어야 합니다. 일치하는 사례가 없을 때 실행됩니다.

TypeScript 스위치 문

 let a = 3; let b = 2; switch (a+b){ case 1: { console.log('a+b is 1.'); break; } case 2: { console.log('a+b is 5.'); break; } case 3: { console.log('a+b is 6.'); break; } default: { console.log('a+b is 5.'); break; } } 

산출:

TypeScript 스위치 문

문자열로 대소문자 전환

 let grade: string = 'A'; switch (grade) { case'A+': console.log('Marks >= 90'+'
&apos;+&apos;Excellent&apos;); break; case&apos;A&apos;: console.log(&apos;Marks [ &gt;= 80 and = 70 and = 60 and <70 ]'+'
'+'average'); break; case'c': console.log('marks < 60'+'
'+'below average'); default: console.log('invalid grade.'); } pre> <p>In this example, we have a string variable grade. The switch statement evaluates grade variable value and match with case clauses and then execute its associated statements.</p> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/typescript-tutorial/79/typescript-switch-statement-3.webp" alt="TypeScript Switch Statement"> <hr> <h2>Switch Case with Enum</h2> <p>In TypeScript, we can use the switch case with Enum in the following ways.</p> <h3>Example</h3> <pre> enum Direction { East, West, North, South }; var dir: Direction = Direction.North; function getDirection() { switch (dir) { case Direction.North: console.log(&apos;You are in North Direction&apos;); break; case Direction.East: console.log(&apos;You are in East Direction&apos;); break; case Direction.South: console.log(&apos;You are in South Direction&apos;); break; case Direction.West: console.log(&apos;You are in West Direction&apos;); break; } } getDirection(); </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/typescript-tutorial/79/typescript-switch-statement-4.webp" alt="TypeScript Switch Statement"> <hr> <h2>TypeScript Switch Statement is fall-through.</h2> <p>The TypeScript switch statement is fall-through. It means if a break statement is not present, then it executes all statements after the first match case.</p> <h3>Example</h3> <pre> let number = 20; switch(number) { //switch cases without break statements case 10: console.log(&apos;10&apos;); case 20: console.log(&apos;20&apos;); case 30: console.log(&apos;30&apos;); default: console.log(&apos;Not in 10, 20 or 30&apos;); } </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/typescript-tutorial/79/typescript-switch-statement-5.webp" alt="TypeScript Switch Statement"></70>

산출:

TypeScript 스위치 문

TypeScript Switch 문이 실패했습니다.

TypeScript 스위치 문은 fall-through입니다. 이는 break 문이 없으면 첫 번째 일치 사례 이후의 모든 문을 실행한다는 의미입니다.

 let number = 20; switch(number) { //switch cases without break statements case 10: console.log(&apos;10&apos;); case 20: console.log(&apos;20&apos;); case 30: console.log(&apos;30&apos;); default: console.log(&apos;Not in 10, 20 or 30&apos;); } 

산출:

TypeScript 스위치 문