티스토리 뷰
const array1 = Array(3).fill().map((v, i) => i + 1);
array1; // 결과 (45) [1, 2, 3]
const array2 = Array(3).map((v, i) => i + 1);
array2; // 결과 (45) [empty × 3]


로또번호 추출 함수를 생성하다가 Array(45).fill()과 Array(45)의 차이가 무엇인지 궁금했다.
Array(45)는 length가 45인 배열을 생성하는데, 배열은 비어있다.
length가 있으니 undefined 요소들로 초기화될 것이라고 생각했는데 length 정보만을 가진 빈 배열이 리턴되었다.
Array(45).fill()을 해야 undefined 요소들을 가진 배열이 리턴된다.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array