### Discussed in https://github.com/orgs/Programming-Language-Practice/discussions/41 <div type='discussions-op-text'> <sup>Originally posted by **JoisFe** February 12, 2023</sup> # 12. 조건문 배우기 - switch ``` switch (표현식) { case 값1: 명령문1 break; case 값2: 명령문2 break; default: 명령문3 } ``` - if 조건문은 여러 조건문들이 중첩되어 복잡하게 보일 수 있는데 경우에 따라 switch를 사용하면 정돈된 코드를 만들 수 있다. - 먼저 switch의 표현식 값을 확인 - switch 표현식 다음으로 중괄호 {}로 둘러싸인 블록 안을 살펴보면 case 문이 있음 - switch 표현식은 case의 값과 일치 여부를 확인하며 이때 === 일치 연산자를 사용 - 여러 case 문이 있는 경우 위에서부터 순차적으로 일치한 값이 나올 때 까지 case 값을 확인하며 내려감 - 그리고 case 값이 일치하면 해당 명령문을 실행 - break는 그 다음의 코드들을 더이상 실행하지 않고 switch 조건문을 끝내는 역할을 수행 - 만일 일치하는 case 값이 없는 경우 마지막 default로 선언된 명령문이 실행 ### === 일치 연산자 - 값과 자료형을 모두 비교 - 결과값으로 true 또는 false를 반환 - 앞에서 살펴본 == 동등 연산자와 차이가 있는데 이 부분은 차후에 배우도록 ``` javascript var subject = '자바스크립트'; switch (subject) { case 'c언어': console.log('C프로그래밍 학습책'); break; case '자바스크립트': console.log('자바스크립트 학습책'); break; case '자바': console.log('자바 학습책'); break; default: console.log('이제 초보자가 아님'); break; } ``` <img width="158" alt="image" src="https://user-images.githubusercontent.com/90208100/218299408-7030dc7d-3fac-461a-bedd-e9be99bbbc85.png"> - 변수 subject에 '자바스크립트' 문자값을 대입 - switch 표현식에 subject를 넣음 - 첫 번째 case 문을 확인, subject 값이 case 문의 값 'c언어'와 일치하지 않으므로 해당 명령문은 실행되지 않고 다음 case로 넘어감 - subject의 값이 case 문과 일치하므로 해당 명령문이 실행, 명령문이 모두 실행된 뒤 break를 통해 switch 조건문을 빠져나옴 - 이후 라인은 실행되지 않음 ## Reference ### 초보자를 위한 JavaScript 200제, 정보문화사, [고재도, 노지연]</div>
Discussed in https://github.com/orgs/Programming-Language-Practice/discussions/41
Originally posted by JoisFe February 12, 2023
12. 조건문 배우기 - switch
=== 일치 연산자
Reference
초보자를 위한 JavaScript 200제, 정보문화사, [고재도, 노지연]