개발/Node & Javascript
Javascript - Array-like objects란?
말고기
2021. 1. 22. 22:45
728x90
반응형
개요
실제 자바 스크립트에서의 array와 array-like object의 차이점을 알고 이를 해결할 수 있는 방법에 대해서 알아본다.
array-like object란?
실제로는 object인데, console.log()를 찍을 때, array로 보이게 하는 것 instanceOf Array나, Array.isArray()를 통해서 판별 가능. length의 속성을 가지면 array처럼 보이는 것을 차용함. 결국 배열도 객체이기 때문에 해당 방식을 사용가능
왜 알아야 하는가?
array처럼 보여서 작각하는데, 실제로 forEach 같은 iterator를 사용하지 못함. ( 상위 브라우저는 괜찮으나 하위 브라우저에서 문제 생길 수 있음)
선언 방식
var a = {
0: 'zzz',
1: '333',
2: 'test',
length: 3
}
예제
문제
var array = [1, 2, 3];
array; // [1, 2, 3]
var nodes = document.querySelectorAll('div'); // NodeList [div, div, div, div, div, ...]
var els = document.body.children; // HTMLCollection [noscript, link, div, script, ...]
답
Array.isArray( array ) // true
Array.isArray( nodes ) // false
Array.isArray( els ) // false
실제 사례
- Jquery의 query selector
- DOM의 query selector
참고링크
728x90
반응형