JavaScript-조건문(else, else if, switch)

hannah·2023년 7월 23일
0

JavaScript

목록 보기
15/121

else를 사용해 두 방향으로 분기하기

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+

중첩 if 조건문 사용하기

let first = true;
let second = false;
if(first){
	console.log('첫 번째 조건 충족!');
    if(second){
    	console.log('두 번째 조건도 충족!');
     }	else	{
        console.log('두 번째 조건은 불충족!');
     }
  }	else	{
    console.log('첫 번째 조건 불충족!');
  }
  //첫 번째 조건 충족!
  //두 번째 조건은 불충족!

switch 문의 기본 형식

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가 출력될 경우, 그 이후의 동작문이 모두 실행됨

break;

이러한 결과값(맞는 조건식 이후의 동작문이 모두 실행되는 것)을 받고 싶지 않고 해당하는 조건에 대한 동작만 받고 싶으면
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

default:

조건식에 아무것도 일치하지 않는 경우 기본 동작문으로 실행됨

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;
}
//아무것도 일치하지 않음

0개의 댓글