조건문

조건문은 조건식의 값이 참(true)인지, 거짓(false)인지에 따라 자바스크립트 코드를 제어합니다. 조건문의 종류에는 if 문, else 문 그리고 else if 문이 있습니다.

if 문

if 문은 조건식을 만족(true)할 경우에만 코드를 실행합니다. 조건식은 앞에서 배웠던 Boolean() 내장 메서드와 마찬가지로 그 어떤 데이터를 입력해도 true 또는 false를 반환합니다.

기본형

if(조건식){
    자바스크립트 코드;
}

예제

var num=100;
if(num<500){
    document.write("hello");   //true를 반환합니다.
}

조건식에 논리형 데이터가 아닌 다른 형이 오는 경우

조건식에 논리형 데이터(true, false)가 아닌 다른 형의 데이터가 입력되어도 true 또는 false로 인식됩니다. 다음 값이 조건식에 입력되면 false를 반환하지만 그 밖의 값은 true로 인식합니다.

0, null, ""(빈문자), undefined

false를 반환하는 값

var num=0;
if(num){   //num이 false를 반환해서 코드가 실행되지 않는다.
    document.write(num);
}

else문

else문은 조건식을 만족할(true) 경우와 만족하지 않을(false) 경우에 따라 실행되는 코드가 달라집니다.

기본형

if(조건식){
    자바스크립트 코드1;
}else{
    자바스크립트 코드2;
}

else문 예제

var yourNumber = prompt("좋아하는 숫자를 입력하시오.");
var num = yourNumber % 2;

if(num){
    document.write("당신이 좋아하는 숫자는 홀수입니다.");   //홀수 입력시 실행
}else{
    document.write("당신이 좋아하는 숫자는 짝수입니다.");   //짝수 입력시 실행
}

else if문

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

기본형

if(조건식1){
    코드1;
}else if(조건식2){
    코드2;
}else if(조건식3){
    코드3;
}else{
    코드4;
}

else if문 예제

var mon = prompt("현재는 몇 월입니까?", "0");

if(mon >= 9 && mon <= 11){
    document.write("독서의 계절 가을이네요!!");      //9 or 10 or 11 입력시 실행
}else if(mon >=6 && mon <= 8){
    document.write("여행가기 좋은 여름이네요!!");   //6 or 7 or 8 입력시 실행
}else if(mon >= 3 && mon <= 5){
    document.write("햇살 가득한 봄이네요!!");        //3 or 4 or 5 입력시 실행
}else{
    document.write("스키의 계절 겨울이네요!!");     //그 외 입력시 실행
}

중첩 if문

조건문 안에 조건문이 있으면 중첩 if문이라고 합니다.

기본형

if(조건식1){
    if(조건식2){
        자바스크립트 코드;
    }
}

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

중첩 if문 예제

var id = "easy1004";
var pw = "112233";

var user_id = prompt("ID?","");
var user_pw = prompt("Password?","");

if(id == user_id){
    if(pw == user_pw){
        document.write(user_id+"님 반갑습니다.");   //id와 pw가 모두 일치하면 실행
    }else{
        alert("비밀번호가 일치하지 않습니다.");          //id는 일치하고 pw가 불일치하면 실행
        location.reload();                                    //브라우저새로고침
    }
}else{
    alert("아이디가 일치하지 않습니다.");                //id가 불일치 하면 실행합니다
    location.reload();
}