JavaScript_3_제어문

🙋🏻‍♀️·2022년 4월 6일
0

✔️if문

if문 (if statement) : 어떤 조건에 따라서 코드를 실행할지 말지 결정할 수 있는 문법


🔹if문의 구조

if (조건부분) {  //'만약 조건이 충족되면 동작부분을 수행해라'
  동작부분
}

📢물로 실습을 해보자.물은 0도 이하에서 언다.

let temperature = 0;

if (temperature <= 0) {
  console.log('물이 업니다.')
} else {
  console.log('물이 얼지 않습니다.')
}
//물이 업니다.




✔️else if문


📢if문과 else문 안에 if문 만들기

let temperature = 105;

if (temperature <= 0) {
  console.log('물이 업니다.');
} else {
  if (temperature < 100) {            //--->else문 안에 if문 만들기
    console.log('물이 얼지도 끓지도 않습니다.');
  } else {
    console.log('물이 끓습니다.')
  }
}
//물이 끓습니다.

📢else if문으로 바꿔서 출력하기

let temperature = -105;

if (temperature <= 0) {
  console.log('물이 업니다')
} else if (temperature < 100) {
  console.log('물이 얼지도 끓지도 않습니다.')
} else {
  console.log('물이 끓습니다')
}
//물이 업니다.

📢if문
<//if문 (if statement)
let temperature = 152;

if (temperature <= 0) {
  console.log('물이 업니다.');
} else if (temperature < 100) {
  console.log('물이 얼지도 끓지도 않습니다.');
} else if (temperature < 150) {
  console.log('물이 끓습니다.')
} else {
  console.log('물이 모두 수증기가 되었습니다.')
}
//물이 모두 수증기가 되었습니다.





✔️switch문 (switch statement)


  switch (비교할_값) {
  case 조건값_1:           //:콜론
  동작부분;               //비교할 값과 조건값이 일치할 경우에 동작코드 작동
  break;                //break의 역할: switch문을 빠져나오게 함
  case 조건값_2;
  동작부분;
  break;
  default:                //비교할 값이 모든 조건값(조건값1,2)과도 일치하지 않을 경우에
  동작부분;                  동작할 코드를 작성 
}                         //조건식을 만족하지 않을 때 동작하는 else문과 비슷한역할.
                           default문도 필요에 따라서는 생략이 가능함.



📢예시1.

let myChoice = 2;             //선택지를 담아둘 변수를 하나 만든다. 고양이 선택됨

switch(myChoice) {
  case 1:
    console.log('토끼를 선택한 당신, ...');
    break;
  case 2:
    console.log('고양이를 선택한 당신, ...');
    break;
  case 3:
    console.log('코끼리를 선택한 당신, ...');
    break;
  case 4:
    console.log('강아지를 선택한 당신, ...');
    break;
  default:
    console.log('1에서 4사이의 숫자를 선택해 주세요.');
}
//고양이를 선택한 당신, ...

break; 지우면 스위치 문은 조건과 일치하는 경우를 찾은 다음에는
break문을 만나기 전까지 그 아래 모든 동작을 실행하게 된다.

만약에 4 선택하면 4부터 디폴트까지 실행됨.
일부러 브레이크 지워서 스위치문 실행하는 경우도 있찌만 난 아직 쪼렙이니까 ㅎ 실수각




📢if문을 활용하면 switch문을 if문으로 대체할 수도 있습니다.

if (myChoice === 1) {
  console.log('토끼를 선택한 당신, ...');
} else if (myChoice === 2) {
  console.log('고양이를 선택한 당신, ...');
} else if (myChoice === 3) {
  console.log('코알라를 선택한 당신, ...');
} else if (myChoice === 4) {
  console.log('강아지를 선택한 당신, ...');
} else {
  console.log('1에서 4사이의 숫자를 선택해 주세요.');
}
//토끼를 선택한 당신, ...



if문과 switch문 모두 특정한 조건에 따라 다르게 동작하는 코드를 만들 수 있지만,

어떤 넓은 범위를 만족하는 조건식을 만들 때는 if문을 활용하는 것이
좀 더 효과적이고 특정한 값에 일치하는 조건을 만들 때는 switch문이 더 효과적입니다.

등호를 반드시 3개를 입력해 주어야 한다는 점인데요. switch문은 암시적 형 변환을 허용하지 않기 때문입니다.




📢실습과제 풀어보기

윤식이는 공연 티켓 판매 프로그램을 개발하고 있습니다.
다른 부분은 어느 정도 정리가 되었는데, 좌석 등급에 따라서 가격을 알려주는 부분을 해결하지 못했는데요. 힘들어하는 윤식이를 위해 switch문을 활용해서 각 등급이 선택되었을 때 등급에 따라 가격을 표시해주는 checkPrice 함수를 완성해 주세요.

코드가 잘 작성되었다면 다음과 같이 출력되어야 합니다.

R석은 13만원 입니다.
VIP석은 15만원 입니다.
S석은 10만원 입니다.
A석은 8만원 입니다.
VIP, R, S, A 중에서 하나를 선택해 주세요.

// 각 등급별 가격
let VIPPrice = 15;
let RPrice = 13;
let SPrice = 10;
let APrice = 8;

// ⭐각 등급에 맞는 가격을 출력하는 함수 checkPrice를 완성하세요.⭐
function checkPrice(grade) {
 switch (grade) {
 case 'VIP':
 console.log(`${grade}석은 ${VIPPrice}만원 입니다.`)
 break;
 case 'R' :
 console.log(`${grade}석은 ${RPrice}만원 입니다.`)
 break;
 case 'S' :
 console.log(`${grade}석은 ${SPrice}만원 입니다.`)
 break;
 case 'A' :
 console.log(`${grade}석은 ${APrice}만원 입니다.`)
 break;
 default:
 console.log(`VIP, R, S, A 중에서 하나를 선택해 주세요.`)// 여기에 코드를 작성해 주세요.
 }

 // 테스트 코드
checkPrice('R');
checkPrice('VIP');
checkPrice('S');
checkPrice('A');
checkPrice('B');






0개의 댓글