if (조건식) :
동작문;
조건문은 조건식과 동작문으로 구분된다.
조건식이 참이면 내부의 동작문이 실행되고, 거짓이면 동작문이 실행되지 않는다.
동작문이 하나일 때, 동작문들을 중괄호로 감싼다.
if (조건식) {
동작문1;
동작문2;
동작문3;
}
예시
let value = '사과';
let condition = true;
if (condition) {
value = '바나나';
}
console.log(value);
>>> 바나나
else를 사용하여 두 방향으로 분기할 수 있다.
if (조건식) { // 조건식이 참일 때 실행
동작문;
} else { // 조건식이 거짓일 때 실행
동작문;
}
if 문 뒤에 else를 붙이고 다시 중괄호 안에 동작문을 입력하면 된다.
else 문에도 if 문과 마찬가지로 동작문을 여러개 넣을 수 있고, 동작문이 하나인 경우 중괄호를 생략할 수 있다.
앞에서 true면 value 값을 바나나로 수정했다.
만약 조건식이 false일 때, 값을 포도로 수정하고 싶으면? else를 사용한다.
let value = '사과';
let condition = false;
if (condition) {
value = '바나나';
} else {
value = '포도';
}
console.log(value);
>>> 포도
else if 는 또 다른 조건을 넣어주는 것이다.
else if 문도 if 문이나 else 문과 마찬가지로 동작문을 여러 개 넣을 수 있다.
if (조건식) {
동작문;
} else if (조건식) {
동작문;
} else {
동작문;
}
else if 문 뒤에 else 문이 반드시 나와야 하는 것은 아니다.
if (조건식) {
동작문;
} else if (조건식) {
동작문;
} else if (조건식) {
동작문;
}
등급 만들기
const score = 90;
if (score >= 90) {
console.log('A+');
} else if (score >= 80) {
console.log('A');
} else if (score >= 70) {
console.log('B+');
} else if (score >= 60) {
console.log('B');
} else if (score >= 50) {
console.log('C');
} else {
console.log('D');
}
>>> A+
if 나 else, else if 문의 중괄호 안에 동작문을 넣을 수 있다는 것을 활용한다.
조건문도 문이기 때문에 중괄호 안에 다시 넣을 수 있다.
let first = true;
let second = false;
if (first) {
console.log('첫번째 조건 충족');
if (second) {
console.log('두번째 조건 충족');
} else {
console.log('두번째 조건 불충족');
}
} else {
console.log('첫번째 조건 불충족');
}
조건문에는 if문 외 switch문도 존재한다.
if 문과 switch 문은 조건을 충족할 때, 실행된다는 공통점도 있지만 차이점도 있다.
switch (조건문) {
동작문;
}
switch 문에는 조건식 2개가 사용된다.
switch 옆 소괄호 조건식의 값이 case의 비교조건식 값과 일치(==)하면 해당 동작문이 실행된다.
보통 조건식에 변수를 넣고, 비교조건식에는 변수와 비교할 값을 넣는다.
let value = 'B';
switch (value) {
case 'A' :
console.log('A');
case 'B' :
console.log('B');
case 'C' :
console.log('C');
}
>>> B, C
A일 때는 A만, B일 때는 B만, C일 때는 C만 출력하고 싶다면 console.log 다음 줄에 break 문 써줘야한다.
let value = 'A';
switch (value) {
case 'A' :
console.log('A');
break;
case 'B' :
console.log('B');
break;
case 'C' :
console.log('C');
break;
}
>>> B
default는 switch 문에서 if 문의 else와 같은 역할을 한다.
let value = 'E';
switch (value) {
case 'A' :
console.log('A');
break;
case 'B' :
console.log('B');
break;
case 'C' :
console.log('C');
break;
default :
console.log('D');
}
>>> D