else문

if문을 사용하여 조건식이 true일 때만 코드가 실행되도록 할 수 있었습니다. 그런데 조건이 true일 때, 그리고 false일 때 각각 다른 코드가 실행되도록 할 수는 없을까요? else문을 사용하면 가능합니다.

let num = 5;
if (num % 2 === 0) {
	console.log('짝수입니다.');
} else {
	console.log('홀수입니다.'); // '홀수입니다.'
}

else문은 독립적으로 사용할 수 없고, if문 바로 뒤에 작성해야 합니다. 여기서 조건을 더 추가하고 싶으면 else if문을 사용합니다.

let name = 'kimcoding';
let course = 'seb be'

if(name === 'kimcoding' && course === 'fe') {
	console.log('정보가 일치합니다.')
} else if (name === 'kimcoding' && course !== 'fe') {
	console.log('코스를 확인하세요.') // '코스를 확인하세요.'
} else {
	console.log('일치하지 않는 정보입니다.')
}

if문과 else문은 두 번 이상 사용할 수 없지만 else if문은 여러 번 사용이 가능합니다.

let age = 15;
if (age < 8) {
  console.log('미취학아동입니다.');
} else if (age >= 8 && age < 14) {
  console.log('초등학생입니다.');
} else if (age >= 14 && age < 17) {
  console.log('중학생입니다.'); // '중학생입니다.'
} else if (age >= 17 && age < 20) {
  console.log('고등학생입니다.');
} else {
  console.log('성인입니다.');
}

다시 한번 구구단을 떠올려 보겠습니다. 우리는 지금까지 구구단 n단을 출력하는 코드를 다음과 같이 작성했습니다.

let num = 2;

console.log(num * 1); // 2
console.log(num * 2); // 4
console.log(num * 3); // 6
console.log(num * 4); // 8
console.log(num * 5); // 10
console.log(num * 6); // 12
console.log(num * 7); // 14
console.log(num * 8); // 16
console.log(num * 9); // 18

이처럼 변수를 활용하면 보다 편리하게 구구단 n단을 출력할 수 있었습니다. 하지만 여기서 생각해 볼 문제가 있습니다. 일반적으로 구구단은 2단부터 9단까지를 의미합니다. 만약 변수 num이 2와 9 사이의 수가 아니라면 어떻게 될까요? 예를 들어 num이 0이거나, 또는 매우 큰 수라면, 우리가 일반적으로 알고 있는 구구단과는 거리가 먼 결과가 나오게 될 것입니다.

let num = 0;

console.log(num * 1); // 0
console.log(num * 2); // 0
console.log(num * 3); // 0
console.log(num * 4); // 0
console.log(num * 5); // 0
console.log(num * 6); // 0
console.log(num * 7); // 0
console.log(num * 8); // 0
console.log(num * 9); // 0

그렇다면 변수 num이 2와 9 사이의 숫자라면 구구단을 출력하고, 그렇지 않다면 2와 9 사이의 숫자를 입력해 달라는 메시지를 콘솔에 출력하는 방식으로 코드를 작성하면 어떨까요? 여러분이 직접 실습해 보시기 바랍니다.


💻 실습1)

구구단을 출력하는 함수에서 변수 num이 2와 9 사이의 수일 경우 구구단을 출력하고, 그렇지 않은 경우 2와 9 사이의 숫자를 입력해 달라는 메시지를 콘솔에 출력하도록 코드를 완성하세요.

[실습] 4-2. else문 - 1