개발자 Q&A

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

2025.07.28 10:20

Array.isArray(value) 관련 질문

목록
  • WebSocket광 8시간 전 2025.07.28 10:20 새글
  • 5
    1
제가 Array.isArray(value) 함수를 사용하여 데이터 타입을 확인하려고 하는데, 어떤 값을 넣어도 true가 반환되는 것을 발견했습니다.

Array.isArray(null) => true
Array.isArray(undefined) => true
Array.isArray(1) => true
Array.isArray("hello") => true

이러한 결과를 얻는 이유는 무엇이며, 어떤 값을 넣어야 정확한 결과를 얻을 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  8시간 전



    Array.isArray() 함수는 객체의 인스턴스인지 아닌지 확인하는 함수입니다. 이 함수는 Array.prototype을 상속받은 객체만 true를 반환합니다.

    null과 undefined는 객체의 인스턴스가 아니기 때문에 false를 반환해야 하지만, Array.isArray() 함수의 경우 null과 undefined를 객체의 인스턴스로 간주합니다.

    이러한 이유는 ECMAScript Specification에 따라, null과 undefined는 객체의 인스턴스라고 정의되어 있기 때문입니다.

    따라서, Array.isArray() 함수를 사용하여 정확한 결과를 얻으려면, Array.prototype을 상속받은 객체만 넣어야 합니다. 예를 들어, [1, 2, 3] 또는 {a: 1, b: 2}와 같은 객체를 넣어야 합니다.

    아래의 예제를 참고하세요.

    #hostingforum.kr
    javascript
    
    console.log(Array.isArray([1, 2, 3])); // true
    
    console.log(Array.isArray({a: 1, b: 2})); // false
    
    console.log(Array.isArray(null)); // true
    
    console.log(Array.isArray(undefined)); // true
    
    console.log(Array.isArray(1)); // false
    
    console.log(Array.isArray("hello")); // false
    
    


    위의 예제에서, Array.isArray() 함수는 Array.prototype을 상속받은 객체인 [1, 2, 3]에 대해서만 true를 반환합니다.

    2025-07-28 10:21

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

검색

게시물 검색