두 가지 방법이 있는데, 주의할 점도 있다 꼭 끝까지 읽어보자.
1. Array.from() 방식
const arr = Array.from({ length: 10 }, () => 0);
유연한 초기화가 가능하다
Array.from({ length: 10 }, (_, i) => i); // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
2. Array() 방식
const arr = Array(10).fill(0);
Array()의 주의할 점
객체나 배열과 같이 참조가 가능한 타입으로 fill을 하게 되면, 참조값 하나가 전체 요소에 fill된다.
그래서 한 요소의 값만 바꿔도 전체가 바뀐다.
const arr = Array(3).fill({});
arr[0].a = 1;
console.log(arr); // [ { a: 1 }, { a: 1 }, { a: 1 } ]
// 같은 객체를 참조함 (얕은 복사)
반대로 Array.from()을 사용하면 각 요소가 독립적이라서 참조값도 대입해서 사용할 수 있다.
'Language > JavaScript' 카테고리의 다른 글
| [모던 자바스크립트] 27장 배열 요점 정리 (2) | 2025.04.16 |
|---|---|
| [비동기] async, await과 구 방식 비교 (1) | 2025.03.24 |
| forEach()에서 break가 안된다면 some()과 every() (0) | 2025.03.21 |
| [JS] 구조 분해 할당(디스트럭처링 할당) (0) | 2023.11.05 |
| [JS] 단축 평가 (0) | 2023.02.10 |