Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

No this is not an alternative, it will fail if the array is too large, as you will exceed the maximum number of arguments a function will accept (which is implementation defined).

In general the spread operator should only be used for forwarding arguments not for array operations.



> In general the spread operator should only be used for forwarding arguments not for array operations.

Not quite. You should also use the spread operator when you are spreading an iterable into an array:

    const unique = [...new Set(arr)];


Seems like a needlessly unreadable alternative to Array.from unless you're combining multiple iterables or values an iterables e.g.

    const unique = [...a, ...b];
You might expect that concat would work, but it doesn't handle arbitrary iterables:

    > [].concat([1][Symbol.iterator](), [2][Symbol.iterator]())
    [Array Iterator, Array Iterator]
    > [...[1][Symbol.iterator](), ...[2][Symbol.iterator]()]
    [1, 2]




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: