sindresorhus/eslint-plugin-unicorn

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

Open

#2,480 opened on 2024年10月16日

GitHub で見る
 (4 comments) (0 reactions) (0 assignees)JavaScript (5,022 stars) (468 forks)user submission
docshelp wanted

説明

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.

コントリビューターガイド

`no-useless-spread` it is not safe to remove spread in `[...foo.concat(bar)]` · sindresorhus/eslint-plugin-unicorn#2480 | Good First Issue