home

오늘 정리

글 분류
OneThingAtATime
키워드
생성일
2024/07/31 09:51
최근 수정일
2025/02/28 11:32
작성중

Array.from

유사 배열 객체(array-like object)나 반복 가능한 객체(iterable object)를 실제 배열로 만들 때 사용

유사 배열 객체

배열과 비슷한 구조를 가졌지만 실제 배열은 아닌 객체
array와 비슷하게 인덱스를 가진 객체로 인덱스로(키가 숫자) 접근이 가능하고 length 프로퍼티를 가지고 있어야한다.
Array.prototype으로 부터 inherit 되지 않으므로 push, pop, forEach, map과 같은 메서드를 사용할 수 없다.
자바스크립트에서 Array like object는 일반 Object로 취급된다.

반복 가능한 객체(iterable object)- iterable protocol

const str = 'hello'; str[Symbol.iterator]; // [Function]
TypeScript
복사
String, Array, TypedArray, Map, Set이다.
iterable protocol은 새로운 빌트인 syntax 같은게 아닌 프로토콜이다.
iterable protocol에 부합되는 객체일 경우 for…of, 스프레드 연산자, 구조분해 할당, Array.from과 같은 작업들을 할 수 있다. → 코드를 더 좋게 만들어주는 역할.

FileList

FileList는 객체지만 iterable protocol을 준수한다. → 그에 해당하는 메서드들을 사용할 수 있다.