배열과 유사배열

개발 log·2021년 9월 7일
0

JS 지식

목록 보기
9/36
post-thumbnail

배열

직접 리터럴로 선언한 array만 배열임

유사배열

유사배열의 조건

0부터 순차적으로 증가하는 프로퍼티 키 값을 갖고 length키 값을 갖는 객체

var yoosa = {
  0: 'a',
  1: 'b',
  2: 'c',
  length: 3
}

위처럼 yoosa 객체가 바로 유사배열

배열도 객체라는 성질을 이용한 트릭

배열과 유사배열을 구분해야 하는 이유는 유사배열의 경우 배열으 ㅣ메서드를 쓸 수 없기 때문

하지만 배열 prototype에서 빌려오면 사용할 수 있음

var nodes = document.querySelectorAll('div'); // NodeList [div, div, div, div, ...]
var els = document.body.children; // HTMLCollection [noscript, link, div, script, ...]

Array.prototype.forEach.call(nodes, function(el) { console.log(el); });
[].forEach.call(els, function(el) { console.log(el); });

최신 JS에서는 Array.from으로 더 간단하게 사용할 수 있음

Array.from(nodes).forEach(function(el) { console.log(el) });

참조 사이트

profile
프론트엔드 개발자

0개의 댓글