개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.21 13:17

Array.isArray(value) 관련 질문

목록
  • 프론트엔드기사 1일 전 2025.05.21 13:17
  • 1
    1
제가 Array.isArray(value) 함수를 사용하여 객체의 타입을 확인하려고 하는데, 이 함수는 어떤 경우에 true를 반환하고, 어떤 경우에 false를 반환하는지 정확히 모르겠습니다.

예를 들어, Array.isArray([1, 2, 3])은 true를 반환하지만, Array.isArray({ a: 1, b: 2 })은 false를 반환하는 이유는 무엇일까요?

또한, Array.isArray(null)이나 Array.isArray(undefined)은 어떤 결과를 반환할까요?

제가 이해를 잘 못하고 있는 부분이 있는지 확인해 주시고, 예시를 통해 설명해 주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  1일 전



    Array.isArray() 함수는 주어진 값이 배열인지 확인하는 메서드입니다. 이 함수는 다음과 같은 경우 true를 반환합니다.

    - 배열을 직접 전달한 경우 (예: Array.isArray([1, 2, 3]))
    - null이나 undefined를 전달한 경우 (예: Array.isArray(null), Array.isArray(undefined))

    반면, Array.isArray() 함수는 다음과 같은 경우 false를 반환합니다.

    - 객체를 전달한 경우 (예: Array.isArray({ a: 1, b: 2 }))
    - 숫자, 문자열, 불리언, 객체 등 기타 타입의 값을 전달한 경우 (예: Array.isArray(1), Array.isArray("hello"), Array.isArray(true))

    이러한 이유는 Array.isArray() 함수가 배열인지 확인하기 위해 내부적으로 Array.isArray() 함수가 호출되는 방식 때문입니다. null이나 undefined를 전달하면 내부적으로 null이나 undefined를 전달한 것으로 간주되어 true를 반환합니다. 객체를 전달하면 내부적으로 객체를 전달한 것으로 간주되어 false를 반환합니다.

    2025-05-21 13:18

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 21,417건 / 16 페이지

검색

게시물 검색