[JS] 확산 연산자를 썼던 이유

Chanki Hong·2022년 12월 18일
0

JavaScript

목록 보기
28/30
post-thumbnail

습관처럼 새로운 빈 배열을 만들 때는 new Array(n).fill(x) 를 이용했다.
빈(empty) 상태로 메서드 이용하여 가공하기는 쉽지가 않았다.

console.log(new Array(10)); // [ <10 empty items> ]
console.log(new Array(10).map((v, j) => j)); // [ <10 empty items> ]

해결책은 바로 임의값을 채운 뒤에 가공하는 것 이었다.

console.log(new Array(10).fill(0));
/*
[
    0, 0, 0, 0, 0,
    0, 0, 0, 0, 0
]
*/
console.log(new Array(10).fill(0).map((v, j) => j));
/*
[
    0, 1, 2, 3, 4,
    5, 6, 7, 8, 9
]
*/

.fill(x) 를 이용하는 것보다 이해가 쉽고(직관적이고), 훨씬 간결한 방법이 있었다.


확산 연산자를 썼던 이유

  • 배열을 만들고 안에 확산 연산자로 빈 배열을 넣으면,
  • 빈(empty)값이 아닌 undefined이 들어감.
console.log([...new Array(10)]);
/*
[
  undefined, undefined,
  undefined, undefined,
  undefined, undefined,
  undefined, undefined,
  undefined, undefined
]
*/
  • .fill(undefined) 의 효과를 보여줌.
console.log(new Array(10).fill(undefined));
/*
[
  undefined, undefined,
  undefined, undefined,
  undefined, undefined,
  undefined, undefined,
  undefined, undefined
]
*/
  • 간결하고, 직관적이고, 이해하기도 쉬워 보이는 것, 그것이 확산 연산자를 썼던 이유니까.
console.log([...new Array(10)].map((v, j) => j));
/*
[
  0, 1, 2, 3, 4,
  5, 6, 7, 8, 9
]
*/

0개의 댓글