본문 바로가기
IT/Javascript Quiz

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

by Echinacea 2025. 2. 13.
반응형

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


퀴즈를 위한 코드

function manipulateArray(arr) {
    if (!Array.isArray(arr)) {
        return "Invalid input";
    }
    arr.push("new item");
    return arr.length;
}

console.log(manipulateArray([1, 2, 3]));
console.log(manipulateArray("not an array"));
console.log(manipulateArray([]));

퀴즈 문제

  1. 위 코드를 실행하면 콘솔에 어떤 출력이 나올까요?
    • a) 4, "Invalid input", 1
    • b) 4, "Invalid input", 0
    • c) [1, 2, 3, "new item"], "Invalid input", ["new item"]
    • d) 오류 발생
  2. if (!Array.isArray(arr)) 조건문의 역할은 무엇일까요?
    • a) arr이 배열이 아닐 경우 오류를 발생시킨다.
    • b) arr이 배열인지 확인하여, 배열이 아닐 경우 "Invalid input"을 반환한다.
    • c) arr이 문자열일 때만 "Invalid input"을 반환한다.
    • d) 실행되지 않는 코드이므로 의미가 없다.

 

 

 

 

 

 

 

 

 

 

 

 

정답 및 해설

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

console.log(manipulateArray([1, 2, 3]));   // 4
console.log(manipulateArray("not an array")); // "Invalid input"
console.log(manipulateArray([]));         // 1
  • manipulateArray([1, 2, 3]) → 배열 [1, 2, 3]"new item"이 추가되어 길이가 4가 됨.
  • manipulateArray("not an array")Array.isArray("not an array")false이므로 "Invalid input" 반환.
  • manipulateArray([]) → 빈 배열에 "new item"이 추가되므로 길이가 1이 됨.

정답:a) 4, "Invalid input", 1

2번 문제 해설 (if (!Array.isArray(arr))의 역할)

  • Array.isArray(arr)arr이 배열인지 확인하는 메서드입니다.
  • 만약 arr이 배열이 아니라면 "Invalid input"을 반환하여 함수의 동작을 중단시킵니다.
  • 이로 인해 push() 메서드가 arr이 배열이 아닐 때 호출되지 않도록 방지할 수 있습니다.

정답:b) arr이 배열인지 확인하여, 배열이 아닐 경우 "Invalid input"을 반환한다.


반응형

댓글