Array() & Array.from()

Daniel·2023년 7월 11일
0

Front-End

목록 보기
12/14

알고리즘을 풀다가 비슷하지만 다른 Array()와 Array.from() 의 차이점에 대해 알아보려 한다.

Array()

JS의 표준 내장 객체인 Array 의 생성자를 호출합니다.

new Array()
new Array(element0)
new Array(element0, element1)
new Array(element0, element1, /* … ,*/ elementN)
new Array(arrayLength)

Array()
Array(element0)
Array(element0, element1)
Array(element0, element1, /* … ,*/ elementN)
Array(arrayLength)

elementN
숫자인 경우를 제외하고 지정된 요소로 초기화 됩니다.

arrayLiegth
정수인 경우 해당 숫자의 길이로 새 JS배열을 반환 합니다.

console.log("Array() : ", Array());  
console.log("Array(3) : ", Array(3));

...

Array() :  []
Array(3) :  [ <3 empty items> ] // 요소가 들어갈 수 있는 슬롯을 만든다.

Array.from()

얕은 복사된 새 인스턴스를 생성합니다.

Array.from(arrayLike)
Array.from(arrayLike, [mapFn])
Array.from(arrayLike, [mapFn, thisArg])

arrayLike
배열로 변환할 반복 가능하거나 배열과 유사한 객체

mapFn
배열의 모든 요소를 ​​호출하는 함수입니다. 제공되면 배열에 추가할 모든 값이 이 함수를 통해 먼저 전달되고 mapFn대신 의 반환 값이 배열에 추가됩니다. 이 함수는 다음 인수로 호출됩니다.

thisArg 
this를 실행할 때 사용할 값입니다 mapFn. -> 초기값이라고 생각하면 될 것 같다.

console.log("Array.from({length: 3}) : ", Array.from({ length: 3 }));  
console.log("Array.from() : ", Array.from(3));

...

Array.from({length: 3}) :  [ undefined, undefined, undefined ]
// {length: num} : 주어진 객체의 length속성의 값의 길이로 초기화 된다.
// undefined 로 채워진 배열
Array.from() :  []

정리

Array() 는 빈 배열 또는 특정 길이의 배열을 만드는 데 사용되고,
Array.from() 은 매핑함수를 적용하는 옵션과 함께 반복 가능하거나 배열과 유사한 객체에서 배열을 만드는데 사용 된다. 상황에 따라 잘 사용하면 될 것 같다.

profile
응애 나 애기 개발자

0개의 댓글