티스토리 뷰
유사 객체 배열(array-like objects)란 무엇이고 배열과 어떤 차이가 있는지 간단하게 알아보겠다.
1. 유사 배열 객체
유사 배열 객체란 배열처럼 보이지만 사실 key가 숫자이고 length 값을 가지고 있는 객체를 말한다.
JS에서 querySelectorAll이나 document.body.children으로 엘리먼트를 가져오면 유사 배열 객체에 담겨서 온다.
2. 예시
HTML
<div class="text">Hello</div>
<div class="text">World</div>
<div class="text">I'm</div>
<div class="text">Programmer</div>
JavaScript
const texts = document.querySelectorAll('.text');
console.log(texts);
결과값
배열처럼 보이지만 풀어보면 아래와 같이된다.
{
0: div.text,
1: div.text,
2: div.text,
3: div.text,
length: 4,
}
즉 배열같이 생겼지만 객체이기 때문에 유사 배열 객체라고 한다.
유사 배열 객체와 일반 객체의 중요한 차이는 배열의 forEach, map, filter, reduce 같은 메서드를 사용할 수 없다는 것이다. 위와 같은 메서드를 사용하고 싶다면 Array.from() 메서드를 사용하면 된다.
const texts = document.querySelectorAll('.text');
Array.from(texts).map((text) => console.log(text));
'Language > JavaScript' 카테고리의 다른 글
[Javascript] Math.trunc() vs Math.floor() (0) | 2023.07.20 |
---|---|
[Javascript] .inclues() (0) | 2023.07.18 |
[Javascript] setTimeout() setInterval() (0) | 2023.07.14 |
[JavaScript] .sort() 활용하기 (0) | 2023.07.14 |
[Javascript] .every() .some() (0) | 2023.07.13 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 코드잇스프린트
- hydrationboundary
- 동기
- GitHub
- 비동기
- Next.js
- javascript
- 취업까지달린다
- Target
- js
- html
- 제어 컴포넌트
- currentTarget
- 스프린트프론트엔드6기
- react
- CSS
- map
- rest parameter
- 유사배열객체
- arguments
- 객체
- tanstackquery
- 배열
- Git
- 중급 프로젝트
- 비제어 컴포넌트
- innerhtml
- 리액트
- 프론트엔드
- 코드잇 스프린트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함