Developer/자바스크립트

자바스크립트 , 조건문 if 와 switch

단님 2024. 5. 16. 22:32
728x90
조건문 if 

자바와 형식이 비슷하나,

자바에서는 true 또는 false 로 표현되고,

자바 스크립트에서는 0이 false , 0이 아닌 수를 true로 판단 하는 차이가 있음.

 

추후 숫자를 이용해 값을 판단하게 될때 ,

0 이라는 숫자가 필요한데 조건문을 통해 false로 빠지는 상황이 생길 수 있음.

 

else 가 따로 없다면 그 외의 조건에 대해서 실행되지 않기 때문에,

else는 필요에 의해 사용할 수 있다.

 

  • if (조건문){} 아닐때는 실행되지 않음.
  • if(조건문){조건 참이면 실행}else{아닐때 실행}
  • if(조건문1){조건1이 참이면 조건 2로}else if(조건문 2){조건 2가 참이면 실행}
  • if(조건문1){조건1이 참이면 조건 2로}else if(조건문 2){조건 2가 참이면 실행} else{ 아닐때 실행}
삼항조건 연산자

 

형식 : 조건식 ? 참 : 거짓

자바는 우변값만 지정가능.

자바스크립트는 좌변 우변 전부 가능.

위의 상황을 아래로 간결하게 정리할 수 있다.

 

위의 상황에서 str 이라는 변수로 따로 받아서 식을 정리했다면 ,

축약해서 굳이 변수로 값을 저장하지 않고 n 의 값으로만 분별하여 표현할 수 있다.

 

 

조건문 switch

 

선택한 값으로 비교 (===)

자바에서는 상수 또는 문자열만 쓸 수 있었다면 ,

자바 스크립트에서 switch 문 에서는 선택값에 변수나 상수 , 식 모두 쓸 수 있다.

 

default 가 없을 수 있는데 그럴경우

case 선택값에 대한 비교만 하고, 나머지는 실행을 하지 않음.

즉 , 필요에 의해 나머지에 대한 실행값이 필요한 경우 default 를 사용 할 수 있다.

(if 문의 else 와 같은 상황.)

 

if 와 switch 의 차이

if 는 연속적이면서 넓은 범위 측정하는데 유리.

switch 는 비연속적이거나 좁은 범위를 측정하는데 유리.

 

  • switch 문
let num = +prompt( "원하는 숫자를 입력하세요.", "" );
switch ( num ){
     case num > 0 :
      document.write ( "입력한 숫자는 양수입니다." );
      break;

    case num = 0 :
      document.write ( "입력한 숫자는 0입니다." );
      break;

    case num < 0 :
      document.write ( "입력한 숫자는 음수입니다." );
      break;

    default
      document.write ( "숫자를 입력해주세요." );
}

 

  • if문
let num = +prompt( "원하는 숫자를 입력하세요.", "" );
if ( num > 0 ){
     document.write ( "입력한 숫자는 양수입니다." );
}else if ( num = 0 ){
     document.write ( "입력한 숫자는 0입니다." );
}else if ( num < 0){
     document.write ( "입력한 숫자는 음수입니다." );
}else{
     document.write ( "숫자를 입력해주세요." );
}