반응형

자바스크립트 코드의 흐름을 이해하는 것은 매우 중요합니다. 이번에는 새로운 개념을 포함한 세 번째 퀴즈를 준비했습니다. 코드를 먼저 살펴보고, 문제를 풀어보세요!
퀴즈를 위한 코드
function checkNumber(num) {
if (num % 2 === 0) {
return "Even";
} else if (num % 2 === 1) {
return "Odd";
} else {
return "Not a number";
}
}
console.log(checkNumber(4));
console.log(checkNumber(7));
console.log(checkNumber("text"));
console.log(checkNumber(3.5));
퀴즈 문제
- 위 코드를 실행하면 콘솔에 어떤 출력이 나올까요?
- a) "Even", "Odd", "Not a number", "Not a number"
- b) "Even", "Odd", "Not a number", "Odd"
- c) "Even", "Odd", "Not a number", undefined
- d) 오류 발생
- else if (num % 2 === 1) 조건문의 문제점은 무엇일까요?
- a) num이 소수일 때 정상적으로 실행되지 않는다.
- b) num이 정수가 아닐 경우에도 Odd가 출력될 수 있다.
- c) num이 문자열일 때 오류가 발생한다.
- d) 문제 없음
정답 및 해설
1번 문제 해설 (출력 결과 예상)
console.log(checkNumber(4)); // "Even"
console.log(checkNumber(7)); // "Odd"
console.log(checkNumber("text")); // "Not a number"
console.log(checkNumber(3.5)); // "Not a number"
- checkNumber(4) → 4는 짝수이므로 "Even" 반환
- checkNumber(7) → 7은 홀수이므로 "Odd" 반환
- checkNumber("text") → 숫자가 아니므로 num % 2 === 0 또는 num % 2 === 1이 성립되지 않아 "Not a number" 반환
- checkNumber(3.5) → 3.5 % 2는 1.5가 되어 else if (num % 2 === 1) 조건이 성립되지 않음 → "Not a number" 반환
정답: ✅ a) "Even", "Odd", "Not a number", "Not a number"
2번 문제 해설 (else if (num % 2 === 1)의 문제점)
- num % 2 === 1 조건은 정수에 대해서만 정상 동작합니다.
- num이 실수(예: 3.5)일 경우 num % 2는 1이 아니라 1.5가 되어 Odd로 인식되지 않습니다.
- 즉, num % 2 !== 0과 같은 보다 일반적인 조건을 사용하는 것이 안전합니다.
정답: ✅ b) num이 정수가 아닐 경우에도 Odd가 출력될 수 있다.
끝
반응형
'IT > Javascript Quiz' 카테고리의 다른 글
[javascript] 자바스크립트 코드 읽기 연습 - 초급 퀴즈6 (0) | 2025.02.14 |
---|---|
[javascript] 자바스크립트 코드 읽기 연습 - 초급 퀴즈5 (0) | 2025.02.14 |
[javascript] 자바스크립트 코드 읽기 연습 - 초급 퀴즈4 (0) | 2025.02.13 |
[javascript] 자바스크립트 코드 읽기 연습 - 초급 퀴즈2 (0) | 2025.02.13 |
[javascript] 자바스크립트 코드 읽기 연습 - 초급 퀴즈1 (0) | 2025.02.13 |
댓글