유사 배열 객체
유사배열 객체
유사배열 객체란, 배열과 유사한 구조를 갖지만, 실제 배열은 아닌 자바스크립트 객체를 의미합니다.
즉, 인덱스를 갖는 연속된 데이터의 집합이며,
배열에서 제공하는 대부분의 메소드와 속성을 사용할 수 있지만, 배열의 메소드 중 일부는 사용할 수 없습니다.
일반적으로, 유사배열 객체는 배열 메소드를 사용하거나, 배열의 형태로 데이터를 처리하는데 유용합니다.
대표적인 예로는 arguments 객체나 NodeList 객체 등이 있습니다.
arguments 객체는 함수 내에서 사용되며, 함수에 전달된 인수들의 정보를 담고 있는 유사배열 객체입니다.
NodeList 객체는 웹페이지의 DOM 구조에서 특정 요소를 선택한 결과를 반환하는 메소드(querySelectorAll(), getElementsByTagName(), getElementsByClassName() 등)의 반환값으로,
선택된 요소들을 담고 있는 유사배열 객체입니다.
유사배열 객체는 배열과 유사한 동작을 하므로, 배열 메소드를 사용하여 데이터를 처리할 수 있습니다.
예를 들어, Array.from() 메소드를 사용하면 유사배열 객체를 배열로 변환할 수 있으며,
Array.prototype.slice.call() 메소드를 사용하여 유사배열 객체를 배열로 변환할 수도 있습니다.
Array.from()
ES6에서 추가된 배열 생성 메소드로, 유사배열 객체나 이터러블 객체를 배열로 변환할 수 있습니다.
Array.from() 메소드는 두 개의 인수를 받을 수 있는데,
첫 번째 인수는 배열로 변환할 유사배열 객체나 이터러블 객체이며,
두 번째 인수는 선택적으로 콜백 함수를 전달할 수 있습니다.
콜백 함수는 첫 번째 인수에서 받은 각 요소를 변환하여 새로운 배열로 반환합니다.
예를 들어, Array.from() 메소드를 사용하여 문자열을 배열로 변환할 수 있습니다.
const str = 'hello';
const arr = Array.from(str);
console.log(arr); // ['h', 'e', 'l', 'l', 'o']