if-else 문의 기본 형식
if(조건식){ //조건식이 참인 값일 때 실행
동작문
} else { //조건식이 거짓인 값일 때 실행
동작문
}
if(false){
console.log('Hello, if!');
} else {
console.log('Hello, else!');
}
//Hello, else!
else if 문의 기본 형식
if (조건식) {
동작문;
} else if (조건식) {
동작문;
} else {
동작문;
}
const score = 90;
if (score >= 90) { //90점 이상
console.log('A+');
} else if (score < 90 && score >= 80) { //90점 미만 80점 이상
console.log('A');
} else if (score < 80 && score >= 70) { //80점 미만 70점 이상
console.log('B+');
} else if (score < 70 && score >= 60) { //70점 미만 60점 이상
console.log('B');
} else { //60점 미만
console.log('F');
}
//A+
아래와 같이 코드를 없애도 논리적으로 주석의 조건이 완성되기 때문에 줄여서 쓸 수 있음
const score = 90;
if (score >= 90) { //90점 이상
console.log('A+');
} else if (score >= 80) { //90점 미만 80점 이상
console.log('A');
} else if (score >= 70) { //80점 미만 70점 이상
console.log('B+');
} else if (score >= 60) { //70점 미만 60점 이상
console.log('B');
} else { //60점 미만
console.log('F');
}
//A+
let first = true;
let second = false;
if(first){
console.log('첫 번째 조건 충족!');
if(second){
console.log('두 번째 조건도 충족!');
} else {
console.log('두 번째 조건은 불충족!');
}
} else {
console.log('첫 번째 조건 불충족!');
}
//첫 번째 조건 충족!
//두 번째 조건은 불충족!
switch (조건식) {
case 비교조건식:
동작문;
}
switch문에는 조건식 두 개가 사용됨. switch 옆 소괄호 조건식의 값이 case의 비교 조건식 값과 일치(===)하면 해당 동작문이 실행됨. 보통 조건식에 변수를 넣고, 비교 조건식에는 변수와 비교할 값을 넣음
let value = 'A';
switch (value) {
case 'A':
console.log('A');
}
//A
동작문을 여러 개 넣을 수도 있음. 이때 if문과는 다르게 중괄호가 없어도 됨
let value = 'A';
switch (value) {
case 'A':
console.log('A');
console.log('B');
}
//A
//B
if문의 case를 여러 번 사용하여 else if처럼 여러 방향으로 분기할 수도 있음
let value = 'B';
switch (value) {
case 'A':
console.log('A');
case 'B':
console.log('B');
case 'C':
console.log('C');
}
//B
//C
switch문의 특징
조건이 B에 해당하여 B가 출력될 경우, 그 이후의 동작문이 모두 실행됨
이러한 결과값(맞는 조건식 이후의 동작문이 모두 실행되는 것)을 받고 싶지 않고 해당하는 조건에 대한 동작만 받고 싶으면
case 사이에 break;를 넣어주면 됨
let value = 'B';
switch (value) {
case 'A':
console.log('A');
break;
case 'B':
console.log('B');
break;
case 'C':
console.log('C');
}
//B
조건식에 아무것도 일치하지 않는 경우 기본 동작문으로 실행됨
let value = 'D';
switch (value) {
case 'A':
console.log('A');
break;
case 'B':
console.log('B');
break;
case 'C':
console.log('C');
break;
default:
console.log('아무것도 일치하지 않음');
}
//아무것도 일치하지 않음
switch문에서는 else역할을 하는 default가 가장 위에 위치해도 됨
let value = 'D';
switch (value) {
default:
console.log('아무것도 일치하지 않음');
break;
case 'A':
console.log('A');
break;
case 'B':
console.log('B');
break;
case 'C':
console.log('C');
break;
}
//아무것도 일치하지 않음