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를 쓰지 않으면 후속 케이스 블록에 일치하는 값을 사용하여 실행이 계속됩니다.
기본: 기본 블록은 스위치 문의 끝에 작성되어야 합니다. 일치하는 사례가 없을 때 실행됩니다.
예
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; } }
산출:
문자열로 대소문자 전환
let grade: string = 'A'; switch (grade) { case'A+': console.log('Marks >= 90'+' '+'Excellent'); break; case'A': console.log('Marks [ >= 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('You are in North Direction'); break; case Direction.East: console.log('You are in East Direction'); break; case Direction.South: console.log('You are in South Direction'); break; case Direction.West: console.log('You are in West Direction'); 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('10'); case 20: console.log('20'); case 30: console.log('30'); default: console.log('Not in 10, 20 or 30'); } </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 Switch 문이 실패했습니다.
TypeScript 스위치 문은 fall-through입니다. 이는 break 문이 없으면 첫 번째 일치 사례 이후의 모든 문을 실행한다는 의미입니다.
예
let number = 20; switch(number) { //switch cases without break statements case 10: console.log('10'); case 20: console.log('20'); case 30: console.log('30'); default: console.log('Not in 10, 20 or 30'); }
산출:
70>