본문 바로가기

IT 인터넷/javascript

[javascript 언어공부] 조건문(1)

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

이번엔 조건문에 대해서 공부해보자.


조건문은 가장 중요한 부분이며, 핵심인 부분이다.

컴퓨터가 계산기와 구분되는 가장 중요한 차이중의 하나이기도 하다.


조건문은 앞서 공부했던 '비교'와 매우 밀접하게 연결된다.

앞선 비교수업에서 비교를 통해 true나 false라는 값을 얻을 수 있었는데, 

이는 boolean이라는 데이터 타입이고, 이는 조건문에서 핵심적인 역할을 수행한다. 



먼저 조건문이란, 

주어진 조건에 따라 애플리케이션을 다르게 동작하도록 하는 것이다.

우리가 만드는 프로그램을 똑똑하게 만드는 것이 조건문, conditional statement라고 한다.


문법을 살펴보자

조건문은 if로 시작한다.


if(true){

 alert('result : true')

}


if(false){

 alert('result : true')

}


if다음의 괄호 안에는 true나 false만 들어갈 수 있다.

첫번째 if문은 실행이 되지만,

두번째 if문은 실행되지 않는다.


if 뒤 따라오는 괄호 안에 true가 오게되면 중괄호{} 안쪽에 있는 부분이 실행이 되고,

false가 오면 중괄호 안쪽 부분이 실행되지 않는다. 


이러한 이유로 조건문과 boolean타입은 밀접한 관계인건데

조건문이 true냐 false이냐에 따라 조건문이 실행되느냐 실행되느냐의 차이가 생기기 때문이다.


조건문을 좀 더 복잡하게 만들어보자.


if(true){

    alert(1);

    alert(2);

    alert(3);

    alert(4);

}

alert(5);


이 조건문을 실행해보면 차례대로 1,2,3,4가 뜨고, 조건문을 빠져나가 5가 출력된다. 


하지만


if(false){

    alert(1);

    alert(2);

    alert(3);

    alert(4);

}

alert(5);


이 코드를 실행시키면 5만 출력되는데, 조건문이 false이기 때문에 실행이 되지 않았기 때문이다. 



if만으로는 복잡한 상황을 처리하는데 부족하기 때문에 부가된 기능에 대해 알아보자. 


if(true){

alert(1);

}else{

alert(2);

}


if 부분이 true이기 떄문에 실행되면 else 부분이 실행되지 않는다.


else는 if 구간이 거짓일 경우에만 실행되는 것이다.

따라서


if(false){

alert(1);

}else{

alert(2);

}


일 경우에는 2를 출력한다.


부가 기능으로 else if라는 것도 있다. 


if(false){

    alert(1);    

} else if(true){

    alert(2);

} else if(true){

    alert(3);

} else {

    alert(4);

}


첫번째부터 보면 if문이 false이기 때문에 실행되지 않는다.
else는 if가 실행되지 않았을 때 + if는 어떤 조건일 때,
따라서 else if는 if문이 실행되지 않았을 때, 내 if문이 true라면 이라는 뜻을 가진다.
두번째 else if문이 true이기 때문에 이 조건문은 2가 출력된다. 

if(false){
    alert(1);
} else if(false){
    alert(2);
} else if(true){
    alert(3);
} else {
    alert(4);
}

이 조건문에서는 세번째에 있는 else if 문이 true이기 때문에 3이 실행된다. 

if(false){
    alert(1);
} else if(false){
    alert(2);
} else if(false){
    alert(3);
} else {
    alert(4);
}


이 조건문에서는 1번째, 2번쨰, 3번째 모두 true가 아니기 때문에 마지막 else문만이 실행되며

4가 출력된다. 



지금까지는 괄호 안에 true나 false라는 값이 고정돼어있기 때문에 조건문 답지 않은 코드였다.

따라서 if 안쪽에 boolean이 들어가는 부분에 대해 좀더 심화된 공부를 다음 포스팅에서 해보자.