자바스크립트 프로그램은 위에서 아래로 순차적으로 진행됩니다.
하지만 이 순차적인 흐름을 제어문을 사용해 제어할 수 있습니다.
제어문에는 조건에 따라 프로그램을 제어하는 조건문과 반복을 통해 제어하는 반복문이 있습니다.
이번 시간에는 조건문과 반복문 중 조건문에 대해 알아보겠습니다.
조건문이란 주어진 특정 조건을 만족했을 시 실행되는 실행문입니다.
조건문에는 if문, if / else문, if / else if / else문, switch문이 있습니다.
1. if 문
if(조건문){
괄호안의 값이 참일 시 출력되는 값
}
if문은 if뒤 소괄호 안에 조건문을 입력한 후 다음에 오는 중괄호 안에 조건문이 참일 시 출력될 값을 적어주는 형식입니다.
if(true){
document.write("참입니다.");
}
result
참입니다.
조건문이 참이라면 document.write안의 값이 출력됩니다.
if(false){
document.write("참입니다.");
}
result
조건문이 거짓이라면 값이 출력되지 않습니다.
2. if / else 문
if / else문은 if 조건문이 거짓이었을 때를 고려해 다른 조건을 준비해놓는 것이라고 할 수 있습니다.
if(false){
document.write("참입니다.");
}
else{
document.write("거짓입니다.");
}
result
거짓입니다.
if문이 거짓이라면 준비해놓았던 else문의 값이 출력됩니다.
if(true){
document.write("참입니다.");
}
else{
document.write("거짓입니다.");
}
result
참입니다.
if문의 조건문이 참이라면 else 문은 무시되고 if문의 값이 출력됩니다.
3. if / else if / else 문
if / else if / else 문은 조건이 두가지 이상일 때 사용됩니다.
if(false){
document.write("참입니다.");
} else if(false){
document.write("거짓입니다.");
} else {
document.write("둘 다 거짓입니다.");
}
result
둘 다 거짓입니다.
만약 if 문 else if 모두 거짓일 시 else문이 출력됩니다.
if(false){
document.write("참입니다.");
} else if(true){
document.write("거짓입니다.");
} else {
document.write("둘다 거짓입니다");
}
result
거짓입니다.
만약 else문이 나오기 전의 조건문이 true라면 true인 입력값을 출력하고 더이상 나아가지 않고 중단하게 됩니다.
if(false){
document.write("참입니다.");
} else if(false){
document.write("거짓입니다.");
} else if(false){
document.write("둘 다 거짓입니다.");
} else if(false){
document.write("셋 다 거짓입니다.");
} else {
document.write("넷 다 거짓입니다");
}
result
넷 다 거짓입니다.
else if 문은 무수히 많이 존재할 수 있습니다.
4. switch 문
마지막 switch문은 조건의 참, 거짓에 따라 값을 출력하는 if문과 달리 조건의 일치 여부에 따라 값을 출력합니다.
var a = 5
switch (a) {
case 1 :
document.write("이것은 1입니다.");
break;
case 2 :
document.write("이것은 2입니다.");
break;
case 3 :
document.write("이것은 3입니다.");
break;
case 4 :
document.write("이것은 4입니다.");
break;
case 5 :
document.write("이것은 5입니다.");
break;
default :
document.write("선택한 값이 없습니다.");
break;
}
result
이것은 5입니다.
switch문을 이용해 다양한 조건을 만든 뒤 변수의 조건에 맞는 값을 출력하게 됩니다. 위에서 default값은 조건이 모두 일치하지 않을 때 출력되는 값입니다.
var a = 10
switch (a) {
case 1 :
document.write("이것은 1입니다.");
break;
case 2 :
document.write("이것은 2입니다.");
break;
case 3 :
document.write("이것은 3입니다.");
break;
case 4 :
document.write("이것은 4입니다.");
break;
case 5 :
document.write("이것은 5입니다.");
break;
default :
document.write("선택한 값이 없습니다.");
break;
}
result
선택한 값이 없습니다.
또한 여기서 break;는 원하는 값이 출력되면 그 조건문 밖으로 빠져나오게 하는 역할을 합니다. 만약 break;가 없다면 어떻게 될까요.
var a = 5
switch (a) {
case 1 :
document.write("이것은 1입니다.");
case 2 :
document.write("이것은 2입니다.");
case 3 :
document.write("이것은 3입니다.");
case 4 :
document.write("이것은 4입니다.");
case 5 :
document.write("이것은 5입니다.");
default :
document.write("선택한 값이 없습니다.");
}
result
이것은 5입니다.선택한 값이 없습니다.
원하는 값을 출력하고도 조건문 밖으로 빠져나오지 못해 다음 값까지 모두 출력하게 됩니다.
'JavaScript' 카테고리의 다른 글
[Javascript] 전역 변수, 지역 변수 (0) | 2021.01.23 |
---|---|
[Javascript] 연산자(operator) (0) | 2021.01.17 |
[Javascript] 자바스크립트의 기본 (0) | 2021.01.17 |