자바스크립트 조건문


if 와 else

if문은 조건식을 만족하는(true) 경우에만 실행문을 실행합니다.

기본형
if(조건식){
실행문;
}

1
2
3
4
5
6
let num=10;  

if(num<500){ //조건식을 만족하면 실행문을 실행합니다.
document.write("hello");
// hello
}

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

논리형 데이터 (true,false)값이 아닌 다른 형의 데이터가 입력되더라도

true 또는 false로 인식됩니다.

다음값이 조건식에 입력되면 false를 반환하지만, 그 밖에 모든값은 true로 인식됩니다.

0, null, “”(빈 문자), undefined // false


else 문은 조건식이 true일 경우와 false일 경우에 따라 실행되는 실행문이 달라집니다.

prompt 사용 예 (사용자로 부터 값을 입력받는 메서드) 질의응답

1
2
3
4
5
6
7
const num=prompt("당신이 좋아하는 숫자는?","0");  

if (num%2)==0{ //짝수일 경우
document.write("당신이 좋아하는 숫자는 짝수입니다.");
}else{//홀수일 경우
document.write("당신이 좋아하는 숫자는 홀수입니다.");
}

confirm 사용 예 (확인/취소 창)

1
2
3
4
5
6
7
8
const result=confirm("정말로 회원을 탈퇴하시겠습니까?");  
//확인 버튼시 true, 취소 버튼시 false

if(result){ //true값일 때 실행문 실행
document.write("탈퇴 처리되었습니다.");
}else{ //false값일 때 실행문 실행
document.write("탈퇴 취소되었습니다.");
}

else if

else if 문은 두 가지 이상의 조건식과 조건을 만족하지 않은 경우 실행되는문으로 이루어져 있습니다.

1
2
3
4
5
6
7
8
9
10
11
const mon=prompt("현재는 몇 월입니까?","0");  

if(mon>=3 && mon<=5){ //3월~5월 이라면,
document.write("봄이네요");
}else if(mon>=6 && mon<=8){ //6월~8월 이라면
document.write("여름이군요");
}else if(mon>=9 && mon<=11){ //9월~11월 이라면
document.write("가을이네요");
}else{ //그 밖에 값이라면
document.write("겨울인가요?");
}

중첩 if 문

조건문 안에 조건문이 오는 것을 중첩if 문이라고 합니다.

일반적으로 바깥쪽 조건문 조건식1을 만족해야만

안쪽에 있는 조건문인 조건식2를 검사합니다.

조건식2를 만족하지 않는다면, 조건식1의 실행문만 실행하고 종료됩니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const id="hdw0903";  
const pw="1004";

var id = "1"
const user_id=prompt("아이디를 입력하세요","");

if(id==user_id){ //id가 일치했을 경우 안쪽 if문 실행

const user_pw=prompt("비밀번호를 입력하세요","");
if(pw==user_pw){ //pw도 일치했을 경우 실행문 실행
document.write(user_id+"님 로그인 되었습니다");
} else{ //pw 일치하지 않는경우
alert("비밀번호가 일치하지 않습니다.");
location.reload(); //페이지 새로고침
}// 안쪽 if문 종료

} else{ //아이디가 일치하지 않는 경우
alert("아이디가 일치하지 않습니다.");
location.reload(); // 안쪽 if문 실행되지 않음, 페이지 새로고침
}// 종료