본문 바로가기
IT/Javascript Quiz

[javascript] 자바스크립트 코드 읽기 연습 - 초급 퀴즈3

by Echinacea 2025. 2. 13.
반응형

자바스크립트 코드의 흐름을 이해하는 것은 매우 중요합니다. 이번에는 새로운 개념을 포함한 세 번째 퀴즈를 준비했습니다. 코드를 먼저 살펴보고, 문제를 풀어보세요!


퀴즈를 위한 코드

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));

퀴즈 문제

  1. 위 코드를 실행하면 콘솔에 어떤 출력이 나올까요?
    • a) "Even", "Odd", "Not a number", "Not a number"
    • b) "Even", "Odd", "Not a number", "Odd"
    • c) "Even", "Odd", "Not a number", undefined
    • d) 오류 발생
  2. 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 % 21.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 % 21이 아니라 1.5가 되어 Odd로 인식되지 않습니다.
  • 즉, num % 2 !== 0과 같은 보다 일반적인 조건을 사용하는 것이 안전합니다.

정답:b) num이 정수가 아닐 경우에도 Odd가 출력될 수 있다.


반응형

댓글