본문 바로가기

언어공부/JavaScript&jQuery

자바 스크립트(JavaScript) 기초 문법 - 제어문(조건문)

자바 스크립트(JavaScript) 기초 문법

제어문

제어문은 프로그램의 흐름을 제어하는 문장이다. 제어문에는 조건문, 반복문이 있다.

 

조건문

조건에 따라 특정 코드를 실행시킬 수 있다. 조건식의 값이 true인지 false인지에 따라 자바스크립트 코드를 제어한다. 

 

1) if문

if문은 조건식이 true일 경우에만 코드를 실행한다.

 

if조건식에 숫자 0을 대입하면 Boolean()메소드에 0을 입력한 것과 결과가 같다. (=false) 이렇게 조건식에 논리형 데이터가 아닌 다른 형의 데이터가 입력되어도 true 또는 false로 입력된다. 0, null, ""(공백), undefined는 false로 인식한다.

 

<script>
if(조건식){
조건식이 참이면 실행;
자바스크립트 코드;
}

var num=1;
if(num<10){//num이 1으로 참
	document.write("hi");//해당 코드 실행
}
</script>

 

2) if-else문

if-else문은 조건식을 만족하면 if문을 실행, 만족하지 않으면 else문을 실행한다. 즉 두가지 결과가 나올 수 있다.

 

<script>
if(조건식){
조건식이 참이면 실행;
자바스크립트 코드;
}else{
조건식이 거짓이면 실행;
}

var num=11;
if(num<10){//num이 11으로 거짓
	document.write("hi");
}else{
	document.write("bye")//해당코드 실행
}
</script>

 

3) else if문

else if문은 두 가지 이상의 조건식과 정해놓은 조건을 만족하지 않았을 때 실행되는 코드로 이루어져 있다.

 

<script>
if(조건식1){
조건식1이 참이면 실행;
자바스크립트 코드;
}else if(조건식2){
조건식2가 참이면 실행;
}else{
조건식1,2가 거짓이면 실행;
}

var num=11;
if(num<10){//num이 11으로 거짓
	document.write("hi");
}else if(num<20){
	document.write("nice to meet you");//해당코드 실행
}else{
	document.write("bye")
}
</script>

 

4) 중첩 if문

if문 안에 if문이 있으면 중첩 if문이라고 한다. 중첩 if문은 바깥쪽에 있는 조건문의 조건식 1을 만족해야 안쪽에 있는 조건문인 조건식2를 검사한다. 만약 안쪽 if문의 조건식 2를 만족하지 않으면 바깥쪽의 조건식1의 중괄호 안에 있는 코드만 실행하고 종료된다.

 

<script>
if(조건식1){
	if(조건식2){
    	자바스크립트 코드;
        //조건식 1,2 만족시 실행
    }
    자바스크립트 코드;
    //조건식 1 만족시 실행
}
</script>

 

5) switch문

변수에 저장된 값과 switch문에 있는 경우(case)의 값을 검사하여 변수와 case가 일치하는 값이 있을 때 그에 해당하는 코드를 실행한다. if문과 용도는 비슷하나 if문은 만족하는 데이터가 여러개일 경우 사용하고, switch문은 여러 경우의 값 중 일치하는 데이터를 찾아 그에 해당하는 코드를 실행시킬 때 사용한다.

 

<script>
var num=1;
switch(num){
	case 1:
    document.write("num은 1이다.");
    break;
    
    case 2:
    document.write("num은 2이다.");
    break;
    
    default://일치하는 case가 없으면 실행
    document.write("num은 1, 2가 아니다.");
}

</script>

 

변수에 저장된 값은 swith 문을 만나면 case의 값을 하나씩 검사한다. 일치하는 데이터가 있으면 그에 해당하는 코드를 실행하고 break문을 만나 switch문을 종료한다. 만일 case의 값 중에 일치하는 데이터가 없으면 default에 있는 코드를 실행하고 switch문을 종료한다.