조건문이란 주어진 조건에 따라 코드를 실행하거나 실행하지 않는 문입니다.
if (조건식){
동작문
}
// 예시
> if (true){
console.log("if문");
}
if문
< undefined
> if (false){
console.log("실행x");
}
< undefined
조건문 은 위와 같은 형태로 이루어 진다.
만약 조건식이 true일때 a, false일때 b를 출력하고 싶다면 어떻게 해야 할까?
if (조건식) {
동작문;
} else {
동작문;
}
// 예시
if (true) {
console.log("a");
} else {
console.log("b");
}
if (조건식) {
동작문;
} else if(조건식){
동작문;
} else {
동작문;
}
//예시
const rank = 2;
if (rank === 1) {
console.log('금메달');
} else if (rank === 2) {
console.log('은메달');
} else if (rank === 3){
console.log ('동메달');
} else {
console.log('다음기회에');
}
//이렇게 코드를 친다면 console에 은메달이 출력 될 것이다.
조건문에는 ifans dhldpeh switch문이 있습니다. if문과 swith문은 조건을 충족할 때 실행된다는 공통점도 있지만, 차이점도 있다.
switch(조건식) {
case 비교조건식 :
동작문;//조건식과 비교조건식이 같으면 동작문을 실행한다.
}
// 예시
let value = 'A';
switch(value) {
case 'A' :
console.log('A');
}
//value랑 비교조건식 'A'가 같으므로 console.log가 실행한다.
if문과 switch문의 차이점이 있다.
const rank = 2;
if (rank === 1) {
console.log('금메달');
} else if (rank === 2) {
console.log('은메달');
} else if (rank === 3){
console.log ('동메달');
} else {
console.log('다음기회에');
}
// 이 상황에서 console에 '은메달'이 출력 된다.
const rank = 2;
switch(rank) {
case 1 :
console.log('금메달');
case 2 :
console.log('은메달');
case 3 :
console.log('동메달');
default :
console.log('다음기회에');
}
// 이러한 상황에서는 '은메달','동메달','다음기회에' 셋다 출력이 된다. 즉, 일치 하는 부분 아래로 쭉 출력이 된다는 것이다.
switch(rank) {
case 1 :
console.log('금메달');
break;
case 2 :
console.log('은메달');
break;
case 3 :
console.log('동메달');
break;
default :
console.log('다음기회에');
}
// 이렇게 한다면 '은메달'만 출력이 될 것이다.
if문과 switch문 외에도 분기 처리에 사용하는 식이 있다. 이를 조건부 연산자 (삼항 연산자)라고 한다.
조건식 ? 참일때 식 : 거짓일 때 식
//예시
> 5 > 0 ? '참입니다.' : '거짓입니다.';
< "참입니다."
위처럼 표현 할 수 있다.
조건부 연산자도 중첩해서 사용 할 수 있다. 하지만 가독성을 위해 ()로 감싸주면 가독성이 더 좋을 것이다.
let c1 = true;
let c2 = false;
let value = c1 ? (c2? '둘다 참' : 'c1만 참') : 'c1이 거짓';
console.log(value);
// 이렇게 된다면 'c1만 참'이 출력 될 것이다.
조건부 연산자를 잘 구별하는 방법은 들여쓰기를 잘 활용하면 좋다
let value = c1
? c2
? '둘다 참'
: 'c1만 참'
: 'c1이 거짓'
//들여쓰기를 활용한 방법