본문 바로가기
IT/Python Quiz

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

by Echinacea 2025. 2. 14.
반응형

자바스크립트의 기본 개념을 익히는 것은 매우 중요합니다. 이번에는 객체와 for...in 반복문을 활용한 문제를 준비했습니다. 코드를 분석하고, 문제를 풀어보세요!


퀴즈를 위한 코드

function countProperties(obj) {
    if (typeof obj !== 'object' || obj === null) {
        return "Invalid input";
    }
    let count = 0;
    for (let key in obj) {
        count++;
    }
    return count;
}

console.log(countProperties({ a: 1, b: 2, c: 3 }));
console.log(countProperties({ name: "Alice", age: 25 }));
console.log(countProperties(null));
console.log(countProperties([]));

퀴즈 문제

  1. 위 코드를 실행하면 콘솔에 어떤 출력이 나올까요?
    • a) 3, 2, "Invalid input", 0
    • b) 3, 2, undefined, 0
    • c) 3, 2, "Invalid input", Invalid input
    • d) 3, 2, 0, 0
  2. for...in 반복문의 역할은 무엇인가요?
    • a) 객체의 키를 순회하며 각 키에 접근한다.
    • b) 객체의 값을 순회하며 각 값에 접근한다.
    • c) 배열의 요소를 반복한다.
    • d) 객체의 모든 속성을 배열로 변환한다.

 

 

 

 

 

정답 및 해설

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

console.log(countProperties({ a: 1, b: 2, c: 3 })); // 3
console.log(countProperties({ name: "Alice", age: 25 })); // 2
console.log(countProperties(null)); // "Invalid input"
console.log(countProperties([])); // 0 (빈 배열은 객체이므로 키 없음)
  • countProperties({ a: 1, b: 2, c: 3 }) → 객체의 키 개수가 3개이므로 3 반환
  • countProperties({ name: "Alice", age: 25 }) → 객체의 키 개수가 2개이므로 2 반환
  • countProperties(null)null은 객체가 아니므로 "Invalid input" 반환
  • countProperties([]) → 빈 배열은 객체이지만 키가 없으므로 0 반환

정답:a) 3, 2, "Invalid input", 0

2번 문제 해설 (for...in 반복문의 역할)

  • for...in 반복문은 객체의 모든 열거 가능한 키를 순회하는 반복문입니다.
  • obj[key]를 사용하면 각 키에 해당하는 값을 가져올 수도 있습니다.

정답:a) 객체의 키를 순회하며 각 키에 접근한다.


 

이 문제를 풀기 위해 필요한 자바스크립트 개념

  • 객체 다루기 (object 타입 확인)
  • for...in 반복문 활용
  • 조건문 (if 문을 사용한 유효성 검사)
  • 객체의 키와 값 접근 방법

반응형

댓글