
조건문은 주어진 조건식의 평가 결과에 따라 코드 블럭의 실행을 결정합니다. 조건식은 불리언 값으로 평가될 수 있는 표현식 입니다.
if까지만 쓰던, else if까지만 쓰던 else까지만 쓰던 관계 없이 잘 동작하고 if ~ else 까지의 순서는 지키되 else나 else if중 하나가 빠진다 해도 잘 동작합니다.
if("조건"){
"실행될 블록문"
}
if("조건"){
"실행될 블록문"
}else if("다른 조건"){
"실행된 다른 블록문"
}
if("조건"){
"실행될 블록문"
}else if("다른 조건"){
"실행된 다른 블록문"
}else{
"위 조건에 모두 부합하지 못할 때 실행될 블위 조건에 모두 부합하지 못할 때 실행될 블록문"
}
조건이 적은 if문은 상향 조건 연산자로 바꿔 쓸 수 있습니다.
// if문
if("조건문" === true){
"실행될 블록문"
}else{
"위 조건에 모두 부합하지 못할 때 실행될 블록문"
}
//삼향 조건 연산자
"조건문" === true ? "실행될 블록문" : "위 조건에 모두 부합하지 못할 때 실행될 블록문"
if else를 일일이 나열할 필요 없이 case를 통해 간략하게 조건문을 표현할 수 있습니다.
switch("비교할 값") {
case "조건":
"비교할 값이 조건과 맞을 때 실행될 블록문";
break;
case "조건":
"비교할 값이 조건과 맞을 때 실행될 블록문";
break;
case "조건":
"비교할 값이 조건과 맞을 때 실행될 블록문";
break;
default:
"위 조건들 중 아무 조건도 맞지 않을 때 실행될 블록문 "
}
case 뒤에 break를 붙여주지 않으면 switch문을 탈출하지 않고 다음 또 다음 case까지 읽어드리기 때문에 결국 default까지 읽어 아무 조건도 맞지 않을 때 실행되는 블록문을 실행하게 됩니다 고로 꼭 break를 써서 switch문을 탈출해줘야 합니다 또 case는 여러개 중첩해 사용이 가능합니다.
if...else문과 삼향연산자는 활용을 지금 것 해왔지만. switch문을 사용한 경험은 극히 드믈다. 거쳐야할 조건들이 그렇게 많은 편도 아니었고. 먼저 생각나는게 if...else문이었기 때문이다. 나중에 조건이 좀 많이 필요한 경우에 유용하게 써먹어야겠다 생각한다.