2.21 JavaScript 조건문 else문
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 === 'seb fe') {
console.log('정보가 일치합니다.')
} else if (name === 'kimcoding' && course !== 'seb 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
실습1)
구구단을 출력하는 함수에서 변수 num이 2와 9사이의 수일 경우 구구단을 출력하고, 그렇지 않은 경우 2와 9사이의 숫자를 입력해 달라는 메시지를 콘솔에 출력하도록 코드를 완성하세요.
// 실습) 구구단을 출력하는 함수에서 변수 num이 2와 9사이의 수일 경우 구구단을 출력하고, 그렇지 않은 경우 2와 9사이의 숫자를 입력해 달라는 메시지를 콘솔에 출력하도록 코드를 완성하세요.
// hint: if ~ else문을 사용하세요.
let num = 0;
console.log(num * 1);
console.log(num * 2);
console.log(num * 3);
console.log(num * 4);
console.log(num * 5);
console.log(num * 6);
console.log(num * 7);
console.log(num * 8);
console.log(num * 9);
console.log('2와 9사이의 수를 입력하세요.');
// 실습) 구구단을 출력하는 함수에서 변수 num이 2와 9사이의 수일 경우 구구단을 출력하고, 그렇지 않은 경우 2와 9사이의 숫자를 입력해 달라는 메시지를 콘솔에 출력하도록 코드를 완성하세요.
// hint: if ~ else문을 사용하세요.
let num = 3;
if (num <= 9 && num >= 2) {
console.log(num * 1);
console.log(num * 2);
console.log(num * 3);
console.log(num * 4);
console.log(num * 5);
console.log(num * 6);
console.log(num * 7);
console.log(num * 8);
console.log(num * 9);
} else {
console.log('2와 9사이의 수를 입력하세요.');
}
오답노트
첨부터 접근을 잘못했다.
let num = 0;
if(1<num && 10>num){
console.log('구구단을 출력한다.');
} else {
console.log('구구단을 출력한다.');
}
삼항 조건 연산자
if문과 else문을 삼항 조건 연산자로 바꿔 쓸 수 있습니다.
let num = 5;
num % 2 === 0 ? console.log('짝수') : console.log('홀수'); // '홀수'
삼항 조건 연산자는 조건식을 먼저 작성한 후 ?를 입력하고, ?뒤로 참/거짓일 때 실행할 코드를 각각 입력합니다. 참/거짓일 때 실행할 코드는 :로 구분합니다. 위 코드는 아래 코드와 동일하게 동작합니다.
let num = 5;
if (num % 2 === 0) {
console.log('짝수입니다.');
} else {
console.log('홀수입니다.'); // '홀수입니다.'
}
위의 예시처럼 조건에 따라 실행할 코드가 간단하다면, 삼항 조건 연산자를 활용하는 것이 편리할 뿐만 아니라 가독성도 좋습니다. 그러나 조건에 따라 실행해야 할 내용이 복잡하다면, if문과 else문을 사용하는 것이 좋습니다.