본문 바로가기
Javascript

Javascript - 조건문(if-else, switch)

by DGK 2021. 9. 18.

 

인프런 자바스크립트 입문 수업을 듣고 중요한 내용을 정리했습니다.
개인 공부 후 자료를 남기기 위한 목적이므로 내용 상에 오류가 있을 수 있습니다.

 

조건문(if-else, switch)

 

  • if문

<if문의 기본 구조>

if( ){

  //code
    
 }
 
// if문( )안의 조건이 만족하면, { }의 코드가 실행된다.


<활용 예시>

var age = 19;

if(age > 18){
    console.log("당신은 성인입니다.");
}

//콘솔창에 "당신은 성인입니다."의 메시지가 출력됨

 

 

  • if-else문
<if-else문의 기본구조>
if( ){
            
 }else{
           
}

//if문 ( )안의 조건이 만족하면, if문 { }안의 코드를 실행하고,
//if문 ( )안의 조건이 만족하지 않는다면, else문 { }안의 코드를 실행한다.

<활용 예시>
var age = 17;

if(age > 18){
  console.log("당신은 성인입니다.");
}else{
  console.log("당신은 성인이 아닙니다.");
}

//콘솔창에 "당신은 성인이 아닙니다."의 메세지가 출력됨(if문 조건 만족X)​


<참고>

var age = 17;
var isAdult = false;  	//초기값을 false로 설정한 것

if(age > 18){
   isAdult = true;
}

//초기값이 주어진 경우에는 굳이 else문을 따로 쓸 필요가 없다.

 

 

  • if-else if문
<if-else if문의 기본구조>
if( ){
            
 }else if( ){
           
 }else{
           
}

//if문 ( )안의 조건을 만족하면, if문의 { }안 코드를 실행하고, 
//if문 ( )안의 조건이 만족하지 않는다면, else-if문 ( )안의 조건이 만족하는지 확인한다.

//만약 else-if문 ( )안의 조건이 만족하면, else-if문 { }안의 코드를 실행하고,
//else-if문 ( )안의 조건이 만족하지 않는다면, else문 { }안의 코드를 실행한다.


<활용 예시>

var hour = 14;

  if(hour < 10){
    console.log("Good morning");
}else if(hour < 18){
    console.log("Good afternoon");
}else if(hour < 21){
    console.log("Good evening");
}else{
    console.log("Good night");
}

//콘솔창에 "Good afternoon"의 메세지가 출력됨

else-if문의 조건식에서 hour > 10 && hour < 18이라고 쓰지 않아도 된다.
그 이유는 위에서 부터 순서대로 if-else if문의 조건을 만족하는지 확인하기 때문이다.

먼저 if문의 조건을 확인하여 만족하지 않는다면, 그 다음 else-if문의 조건을 확인할 때에는 
이미 hour >= 10이라는 조건이 전제되어 있다는 의미이다.

 

 

  • switch문
<기본구조>
switch (key) {           
    case value:         
    
    //code
    
      break;            
    case value:         
    
    //code
    
      break;
    default:                
         
    //code
    
      break;
      
      
//key값이 만약 case의 value와 같다면, 아래의 code를 실행시키고
//break에서 빠져나가는 구조이다.

//default는 key값이 위의 case를 모두 만족하지 않으면 실행된다.

//단, 여기서 key값은 오직 상수(숫자 혹은 문자열)만 들어올 수 있으며, 
//비교연산자 사용이 불가능하다.


<활용 예시>

   var d = new Date();    //자바스크립트의 Date 객체이다.
   var day = d.getDay();  //오늘이 무슨 요일인지 알려주는 Date 객체의 함수이다.
   console.log(day);      //숫자로 결과 값이 도출되며,
   var dayName = "";      //일월화수목금토 순으로 0123456이 된다.

        switch (day) {          
            case 0:                   	//조건이 0인 경우를 의미 
                dayName = "일요일";
                break;               
            case 1:                   	//조건이 1인 경우를 의미
                dayName = "월요일";
                break;
            case 2:
                dayName = "화요일";
                break;    
            case 3:
                dayName = "수요일";
                break;
            case 4:
                dayName = "목요일";
                break;
            case 5:
                dayName = "금요일";
                break;
            case 6:
                dayName = "토요일";
                break;
            default:                
                dayName = "";                
                break;
            }

        console.log(dayName);   //화요일(이 글을 작성하는 날이 화요일이기 때문)


<참고 : if문과 switch문의 차이점>
if문은 위에서부터 순서대로 조건이 맞는지 확인하면서 내려오지만, switch문은 조건에 만족하는 case로
바로가서 코드 실행 후 break로 빠져나오거나, 조건에 만족하는 case가 없으면 곧바로 default를 실행하는 
차이점이 있다.

댓글