본문 바로가기
프로그래밍/Javascript

JavaScript 기초 : 제어문 1. if문 사용법(if문 중첩)

by 조크리 2020. 9. 7.
반응형

1. if문(if statement) 사용하기

 

if문은 어떤 특별한 조건에 따라서 코드를 실행할 지 말 지를 결정하는 '조건문'이다. 

 

if문은 기본적으로 조건과 동작으로 구성되어 있다. 

if (조건부분) {
	동작부분
}

 

예시를 살펴보자. 

온도가 100도 이상이면 물이 끓는다라는 if문을 작성해보았다. 

 

//온도가 100도 이상이면 물이 끓는다.

let temperature = 0;

if (temerature >= 100) {
	console.log('물이 끓는다.)
}

 

 

1-1. if - else문 사용하기 

 

그럼 온도가 100도 이상이면 물이 끓고 아니면 안끓는다는 if-else 문을 작성해보자!

//온도가 100도 이상이면 물이 끓는다. 아니면 안 끓는다. 

let temperature = 0;

if (temerature >= 100) {
	console.log('물이 끓는다.');
} else {
	console.log('물이 끓지 않는다.');
}

다른 예시도 살펴보자.

 

line11,12,13 실행 모습

 

 

키가 140이상이면 탑승이 가능합니다. 

아니면 탑승이 불가능합니다.

이렇게 콘솔에 출력되도록 코드를 작성하였다. 

 

이렇게 딱 2가지로 나눌 때는 if - else를 사용한다. 

 

2가지 이상의 옵션이 필요할 때는 어떻게 할까?

 

바로 else if를 사용하면 된다. 

 

 

 

1-2. else if문

 

temperature값이 100이기 때문에 물이 끓는다가 나온다.

else if는 if문 다음에 이어서 써주면 된다. 

temperature 값이 200이기 때문에 else부분이 출력되었다.

 

그럼 연습을 해보자 

아래 코드의 결과 값은 무엇이 나올까?

/*중간 고사 + 기말 고사 가 90점 이상이면 A, 80점 이상이면 B, 70점 이상이면 C, 
60점 이상이면 D, 60점 미만이면 F 를 안내하는 코드 */

function printGrade(midtermScore, finalScore){
	let totalScore = midtermScore + finalScore;
	if (totalScore >=90) {
	  console.log('A');
	} else if (totalScore >= 80) {
	  console.log('B');
	} else if (totalScore >= 70) {
	  console.log('C');
	} else if (totalScore >= 60) {
	  console.log('D');
	} else {
	  console.log('F')
	}
}

// 테스트 해보기 
printGrade(25, 30);
printGrade(50, 40);
printGrade(29, 20);
printGrade(37, 40);

결과는

 

F

A

F

C

 

가 나온다. 

 

좀 더 복잡한 예시를 보자! 

/*나는 26살의 남자다. 나와 나이가 같을 때는 '친구' 라고 부르고 
나보다 나이가 어릴 때는 남동생 또는 여동생이라고 부르며
나보다 나이가 많을 때는 형 또는 누나라고 불러야 한다. */

// 나의 나이와, 나의 성별을 저장하는 변수
let myAge = 26;
let myGender = 'male';

// 호칭을 담은 변수
let callOlderBrother = '형';
let callOlderSister = '누나';
let callFriend = '친구';
let callYoungerSister = '여동생';
let callYoungerBrother = '남동생';

// 상대방의 나이와 성별에 따른 호칭을 리턴하는 함수 whatShouldICall
function whatShouldICallYou(yourAge, yourGender) {
  if (myAge === yourAge) {
    return callFriend
  } else if (myAge > yourAge) {
    if (myGender === yourGender) {
      return callYoungerBrother
    } else if (myGender !== yourGender) {
      return callYoungerSister
    }
  } else if (myAge < yourAge) {
    if (myGender === yourGender) {
      return callOlderBrother
    } else if (myGender !== yourGender) {
      return callOlderSister
    }
  }
}

// 테스트
let result1 = whatShouldICallYou(25, 'female');
let result2 = whatShouldICallYou(20, 'male');
let result3 = whatShouldICallYou(26, 'female');
let result4 = whatShouldICallYou(30, 'male');
let result5 = whatShouldICallYou(31, 'female');

console.log(result1);
console.log(result2);
console.log(result3);
console.log(result4);
console.log(result5);

이 경우는 if 문 안에 if문이 들어가 있다. 

그리고 JavaScript에서는 같다는 의미가 === 인 것을 명심하자!

처음에는 등호 표시를 =이라고만 썼다가 계속 실행이 되지 않아서 시간을 많이 날렸다. 

 

이 경우 결과가 어떻게 나올까?

 

바로

 

여동생

남동생

친구

누나

 

이렇게 나오게 된다!

 

다음 정리에서는 switch문을 살펴보고 if문과 비교해보자!

 

 

 

반응형