본문 바로가기
Javascript

[JS] 조건문인 if문, switch문, 삼항 연산식에 대해 알아보자

by IT 정복가 2022. 8. 4.
728x90

우리는 프로그래밍을 할 때 굉장히 많은 케이스에 마주하게 될 것이다.

이 변수가 만약에 ~라면? 만약에 그게 아니고 이거라면? 이런 식의 경우 말이다.

그럴 때 사용하는 것이 if문이다.

 

if문의 대략적인 구조를 보면 if( ) {  } 이렇게 되어 있다. 

( ) 안에는 true값, false 값 둘 중 하나의 값만 들어갈 수 있다.

또한 { }는 ( )안의 값이 true일 때만 실행을 한다. 

만약 ( )의 값이 false라면 { }를 생략하고 if문 자체를 빠져나오게 된다.

 

예를 들어 

let a = 1

if(a == 1) {
  console.log("true입니다.")
}

이런 식이다. 위에서 변수 a를 1로 선언해 놓고

if ( a == 1 )을 해 주었다. a는 1이 맞기 때문에 

if ( a == 1 ) => if ( true )이 돼서 { } 안에 있는 값을 실행 시켜 준다.


기본적인 if ( ) { }도 존재하지만 대부분 이렇게 쓰이지는 않고

else if나 else와 같이 쓰게 된다.

else if는 if ( ) 가 false일 때 다음으로 비교할 조건식이다.else는 위의 모든 if, else if가 false일때 실행이 된다. 

예를 들어 아래와 같은 코드처럼 사용할 수 있다.

let a = 3

if(a == 1) {
  console.log("a는 1입니다.")
}else if (a == 2){
  console.log("a는 2입니다.")
}else{
  console.log("a는 1도 아니고 2입니다.")
}

a라는 변수에 3을 넣고 if문을 돌리면

처음에 if ( a == 1 )을 마주치게 된다.

하지만 a는 3이기 때문에 if ( a == 1 ) => false가 되게 된다.

만약 여기서 else if나 else가 없었다면 이 if문은 끝나게 되었겠지만

else if가 뒤에 위치 해 있어 이번에는 a == 2가 맞는지 물어 본다.

하지만 이것도 false이기 때문에 맨 아래 위치한 else문이 실행 되게 된다.

(*else if는 1개 이상으로 만들어도 되지만 if나 else는 1개밖에 만들지 못한다.)


switch문

switch문은 if문같이 조건식을 비교해서 원하는 값을 출력하므로 if문과 상당히 유사하다.

 

switch문의 구조는 아래와 같다.

let a = 3

switch (a){
  case 1:
    console.log("a는 1입니다.")
    break;
  case 2:
    console.log("a는 2입니다.")
    break;
  case 3:
    console.log("a는 3입니다.")
    break;
}

변수 하나를 선언하고 초기화를 시켜준다.

그 후 switch문으로 와서 switch (a) { }를 통해 a에 대한 조건을 판단한다.

{ } 안에는 각각의 case를 적어줘야 하며 a의 값이 case 옆에 있는 값과 일치하면 

아래의 코드를 출력한다.

그리고 break가 있는 이유는 switch문을 빠져나가기 위해 존재한다.

만약 break문이 없다면 switch문을 빠져나가지 않고 다른 case의 값도 출력을 할 것이다.

 

[break가 없다면?]

let a = 1

switch (a){
  case 1:
    console.log("a는 1입니다.")

  case 2:
    console.log("a는 2입니다.")

  case 3:
    console.log("a는 3입니다.")

}

위의 결과와 같이 case 1일떄만 출력하고 switch문을 빠져 나가야 되는데

빠져나가지 못하고 아래 case까지 다 방문하는 것을 볼 수 있다.

그렇기 때문에 모든 case의 마지막은 break로 마무리 해야한다.


삼항 연산식

만약 아래와 같은 if문이 있다고 가정하자

let a = 1

if(a == 1){
  console.log("a는 1입니다.")
}else{
  console.log("a는 1이 아닙니다.")
}

이 코드를 한 줄에 쓸 수 있는 것이 삼항 연산식이라고 볼 수 있다.

let a = 1

let b = a == 1? "a는 1입니다.":"a는 1이 아닙니다."
console.log(b)

위의 코드처럼 조건식? 참일 경우 : 거짓일 경우 이런 구조를 가지고 있다.

만약 조건식이 참이라면 참에 있는 값을 호출해서 변수 b에 넣어주고

거짓이라면 거짓에 있는 값을 호출해서 변수 b에 넣어준다.

 

728x90