Javascript - Array-like objects란?
2021. 1. 22. 22:45ㆍ개발/Node & Javascript
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
반응형
'개발 > Node & Javascript' 카테고리의 다른 글
Nest.js 탐험기 - logging을 winston과 함께 사용해보자. (4) | 2021.02.12 |
---|---|
Javascript arrow function vs function (1) | 2021.01.27 |
Nest.js 탐험기3 (부록) - cache를 커스텀 해보자 (1) | 2021.01.22 |
Nest.js 탐험기3 - cache를 써보자 (3) | 2021.01.20 |
Nest.js 탐험 2 - Filter를 등록해보자. (1) | 2021.01.16 |