조건문이란? 주어진 조건식의 평가 결과에 따라 코드 블럭의 실행을 결정한다. 조건식은 Boolean값으로 평가될 수 있는 표현식이다.
조건문에는 if문과 switch문이 대표적이다.
if문은 if (조건) {내용}
으로 구성되며 조건이 true면 내용이 실행된다.
if (조건식) {
// 조건식이 참이면 이 코드 블록이 실행된다.
} else {
// 조건식이 거짓이면 이 코드 블록이 실행된다.
}
if문은 중첩시켜서 사용할 수 있다.
var something = true;
var moreSomething = true;
if (something) {
console.log("I am inside something");
if (moreSomething) {
console.log("I am inside moreSomething");
} else {
console.log("I never gets called.");
}
} else {
console.log("I never gets called either.");
}
조건을 여러개로 하고 싶으면 else if 문을 사용하여 조건을 구체화할 수 있으며 else if 문과 else 문은 옵션으로 사용할 수도 있고 사용하지 않을 수도 있다.
if (조건식1) {
// 조건식1이 참이면 이 코드 블록이 실행된다.
} else if (조건식2) {
// 조건식2이 참이면 이 코드 블록이 실행된다.
} else {
// 조건식1과 조건식2가 모두 거짓이면 이 코드 블록이 실행된다.
}
또한, if 문과 else는 2번 이상 사용할 수 없지만 else if 문은 여러 번 사용할 수도 있다.
간단한 if else문은 삼항 연산자로 바꿀 수 있다.
var i = 10, j;
if (i > 10) {
j = 15;
} else {
j = 5;
}
위의 코드를 삼항연산자로 바꾸게 되면 아래와 같이 한 줄로 줄일 수 있어 편리하다.
var j = i > 10 ? 15 : 5;
switch ~ case문은 if ~ else와 비슷하다.
switch (c) {
case 10: // c가 10일 때
alert('c는 10');
break;
case 9: // c가 9일 때
alert('c는 9');
break;
case 8: // c가 8일 때
alert('c는 8');
break;
default: // 위의 경우에 해당하지 않을 때
alert('그 외');
}
case 뒤에는 c에 해당하는 조건을 적고 그 아래에 실행할 내용을 적는다. default는 else처럼 어떤 조건에도 해당이 안 될 때 실행된다.
break을 적지 않으면 해당 case 아래로 모든 내용이 실행되기 때문에 case하나마다 내용 밑에 break를 적어줘야한다.