sindresorhus/eslint-plugin-unicorn

`no-useless-spread` it is not safe to remove spread in `[...foo.concat(bar)]`

Closed

#2,480 opened on Oct 16, 2024

 (4 comments) (0 reactions) (0 assignees)JavaScript (468 forks)user submission
docshelp wanted

Repository metrics

Stars
 (5,022 stars)
PR merge metrics
 (Avg merge 1d 16h) (399 merged PRs in 30d)

Description

https://github.com/sindresorhus/eslint-plugin-unicorn/blob/2b469bee475a8f3f2767f4669864acdd89654017/test/no-useless-spread.mjs#L259

[!NOTE] The concat() method preserves empty slots if any of the source arrays is sparse.

via MDN

const foo = new Array(5);
const bar = new Array(5);

const cat = [...foo.concat(bar)];
// now we got a new array with undefined x 10
// but foo.concat(bar) is empty x 10.
// It's not what we want.

Contributor guide