본문 바로가기
IT/Javascript Quiz

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

by Echinacea 2025. 2. 13.
반응형

프로그래밍 실력을 키우기 위해 코드 읽기 연습은 필수적입니다. 이번에는 자바스크립트 초급자를 위한 두 번째 퀴즈를 준비했습니다. 코드를 먼저 보고, 문제를 풀어보세요!


퀴즈를 위한 코드

function addNumbers(a, b) {
    if (typeof a !== 'number' || typeof b !== 'number') {
        return "Invalid input";
    }
    return a + b;
}

console.log(addNumbers(5, 10));
console.log(addNumbers("5", 10));
console.log(addNumbers(3));

퀴즈 문제

  1. 위 코드를 실행하면 콘솔에 어떤 출력이 나올까요?
    • a) 15, "Invalid input", NaN
    • b) 15, "Invalid input", "Invalid input"
    • c) 15, 15, NaN
    • d) 오류 발생
  2. if (typeof a !== 'number' || typeof b !== 'number') 조건문은 어떤 역할을 할까요?
    • a) 두 입력값이 숫자가 아닐 경우 오류를 발생시키는 역할
    • b) 두 입력값이 숫자가 아닐 경우 "Invalid input"을 반환하는 역할
    • c) 입력값이 숫자가 아니어도 더하기 연산을 실행하는 역할
    • d) 실행되지 않는 코드이므로 의미 없음

 

 

 

 

 

정답 및 해설

1번 문제 해설 (출력 결과 예상)

위 코드를 실행하면 다음과 같은 결과가 나옵니다:

console.log(addNumbers(5, 10));  // 15
console.log(addNumbers("5", 10)); // "Invalid input"
console.log(addNumbers(3)); // "Invalid input"
  • addNumbers(5, 10) → 숫자 두 개가 입력되었으므로 return a + b;가 실행되어 15를 반환합니다.
  • addNumbers("5", 10) → 첫 번째 인자가 문자열이므로 조건문이 true가 되어 "Invalid input"을 반환합니다.
  • addNumbers(3)b 값이 전달되지 않아 undefined가 되므로, 조건문이 true가 되어 "Invalid input"을 반환합니다.

정답:b) 15, "Invalid input", "Invalid input"

2번 문제 해설 (if (typeof a !== 'number' || typeof b !== 'number')의 역할)

  • if (typeof a !== 'number' || typeof b !== 'number') 조건문은 입력값이 숫자가 아닐 경우 "Invalid input"을 반환하는 역할을 합니다.
  • 즉, 함수의 인자가 올바르게 전달되었는지 검사하여 예외 처리를 수행하는 역할을 합니다.

정답:b) 두 입력값이 숫자가 아닐 경우 "Invalid input"을 반환하는 역할


반응형

댓글