[JavaScript 7] switch 조건문과 짧은 조건문

김헤일리·2022년 11월 11일
0

JavaScript

목록 보기
8/20
post-custom-banner
  • 조건문은 프로그램의 흐름을 변경할 때 사용한다.
  • 사용자의 행동 (ex. 특정 값을 기재)에 따라 프로그램의 output이 달라질 때 조건문을 사용하겠지...

Switch 조건문

1. switch 조건문이란?

  • switch 조건문은 작성된 case를 평가하여 조건과 일치하는 case를 실행시키는 조건문이다.
  • 조건이 맞지 않은 경우 case가 실행되지 않도록 각 case 안에 break 키워드가 심어져있다.
    • break 키워드가 없으면 모든 case가 실행되버린다!
    • 조건식을 사용하는 if-else와는 다르게 조건 자체가 "값"을 사용하는 것이기 때문이다.
    • 그렇기 때문에 넓은 범위의 조건보단 객관식 문제처럼 선택지가 있는 조건문에 더 적합하다.
  • 작성된 조건들에 부합하지 않으면 마지막의 default가 실행된다 (if문의 else같은!)
    • 다만 if-else와는 다르게 switch 조건문에서 default는 생략이 가능하다.

2. switch 조건문의 기본 형태

switch (자료){
	case 조건1:
    	statements (구현되어야 하는 부분)
    break
    
    case 조건2:
    	statements (구현되어야 하는 부분)
    break
    
    default: //default는 생략 가능
    	break
}
  • 자료에 기존에 선언된 변수가 들어가고, 조건n이라고 표시된 부분에 참/거짓으로 판명될 컨디션이 들어간다.
  • 그리고 조건에 부합하는 경우 statement가 실행되고, break 키워드를 통해 종료된다.

예시:

let a = Number(prompt('2 + 2의 답을 입력하세요'));

switch (a) {
  case 3:
    alert( '비교하려는 값보다 작습니다.' );
    break
  case 4:
    alert( '비교하려는 값과 일치합니다.' );
    break
  case 5:
    alert( '비교하려는 값보다 큽니다.' );
    break
  default:
    alert( "어떤 값인지 파악이 되지 않습니다." );
    break
}
  1. 변수 a를 선언하고, a는 조건문의 자료가 된다.
  2. case에 입력할만한 값을 조건으로서 넣어놓는다.
  3. 조건에 맞는 숫자에 따라 조건문이 실행되고, break 키워드를 만나서 종료된다.
    • 숫자 2를 넣을 경우, 3, 4, 5라는 case에 해당하지 않음으로 default가 실행되고 종료된다.
    • 이때 break 키워드를 조건문에서 빼버리면 모든 statements가 실행된다.

조건부 연산자

1. 조건부 연산자의 형태와 의미

불린 형태의 condition ? "참"일 경우의 결과 : "거짓"일 때의 결과
  • condition의 경우, 조건문으로 사용되는 표현식이다. 특정 조건이 참인지 거짓인지 표현한다.

  • 해당 조건이 "참"일 경우, ? 뒤에 있는 truthy의 표현식이 실행된다.

  • 해당 조건이 "거짓"일 경우, : 뒤에 있는 falsy의 표현식이 실행된다.

    조건 (삼항) 연산자는 JavaScript에서 세 개의 피연산자를 받는 유일한 연산자입니다. 앞에서부터 조건문, 물음표(?), 조건문이 참(truthy)일 경우 실행할 표현식, 콜론(:), 조건문이 거짓(falsy)일 경우 실행할 표현식이 배치됩니다. 해당 연산자는 if...else문의 대체재로 빈번히 사용됩니다.

예시:

const age = 26;

const beverage = (age >= 21) ? "Beer" : "Juice";

console.log(beverage); // "Beer"
  1. age라는 변수의 값을 26으로 지정.
  2. beverage라는 새로운 변수에 조건부 연산자를 사용
    • age는 26임으로, condition의 값 (age >=21)은 "참"이 된다.
    • 콘솔에 변수 beverage 출력 시, "참"의 결과값인 "beer"가 출력된다.
    • 만약 age가 17이었다면, beverage의 condition 결과물은 "거짓 ((17 >= 21))"이 됨으로, beverage 출력 시, "juice"가 출력되었을 것.


switch 조건문은 처음에 이해하기 너무 어려웠었다...
근데 하나하나 뜯어보니 객관식 문항 느낌이라 이제 조금 이해가 되는거 같다.
조건부 연산자는 왜 사용하는지, 실제로 어떻게 사용하는지 감이 안 잡히지만, 언젠가 만나면 이해할 수 있을 것 같다!

출처: 혼자 공부하는 자바스크립트 (한빛미디어)

profile
공부하느라 녹는 중... 밖에 안 나가서 버섯 피는 중... 🍄
post-custom-banner

0개의 댓글