Skip to content

12. 조건문 배우기 - switch #42

@JoisFe

Description

@JoisFe

Discussed in https://github.com/orgs/Programming-Language-Practice/discussions/41

Originally posted by JoisFe February 12, 2023

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를 반환
  • 앞에서 살펴본 == 동등 연산자와 차이가 있는데 이 부분은 차후에 배우도록
var subject = '자바스크립트';

switch (subject) {
  case 'c언어': 
    console.log('C프로그래밍 학습책');
    break;
  case '자바스크립트': 
    console.log('자바스크립트 학습책');
    break;
  case '자바': 
    console.log('자바 학습책');
    break;
  default: 
    console.log('이제 초보자가 아님');
    break;
}
image
  • 변수 subject에 '자바스크립트' 문자값을 대입
  • switch 표현식에 subject를 넣음
  • 첫 번째 case 문을 확인, subject 값이 case 문의 값 'c언어'와 일치하지 않으므로 해당 명령문은 실행되지 않고 다음 case로 넘어감
  • subject의 값이 case 문과 일치하므로 해당 명령문이 실행, 명령문이 모두 실행된 뒤 break를 통해 switch 조건문을 빠져나옴
  • 이후 라인은 실행되지 않음

Reference

초보자를 위한 JavaScript 200제, 정보문화사, [고재도, 노지연]

Metadata

Metadata

Assignees

No one assigned

    Labels

    200 Solved초보자를 위한 200제 책 학습을 위한 라벨입니다.JavaScriptJavaScript 관련 라벨입니다.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions