Skip to content

useSpread

biome.json
{
"linter": {
"rules": {
"nursery": {
"useSpread": "error"
}
}
}
}

Enforce the use of the spread operator over .apply().

The apply() method is used to call a function with a given this value and arguments provided as an array. The spread operator ... can be used to achieve the same result, which is more concise and easier to read.

foo.apply(null, args);
code-block.js:1:1 lint/nursery/useSpread  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

apply() is used to call a function with arguments provided as an array.

> 1 │ foo.apply(null, args);
^^^^^^^^^^^^^^^^^^^^^
2 │

This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.

Unsafe fix: Use the spread operator.

1 - foo.apply(null,·args);
1+ foo(...args);
2 2

foo.apply(null, [1, 2, 3]);
code-block.js:1:1 lint/nursery/useSpread  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

apply() is used to call a function with arguments provided as an array.

> 1 │ foo.apply(null, [1, 2, 3]);
^^^^^^^^^^^^^^^^^^^^^^^^^^
2 │

This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.

Unsafe fix: Use the spread operator.

1 - foo.apply(null,·[1,·2,·3]);
1+ foo(...[1,·2,·3]);
2 2

foo.apply(undefined, args);
code-block.js:1:1 lint/nursery/useSpread  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

apply() is used to call a function with arguments provided as an array.

> 1 │ foo.apply(undefined, args);
^^^^^^^^^^^^^^^^^^^^^^^^^^
2 │

This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.

Unsafe fix: Use the spread operator.

1 - foo.apply(undefined,·args);
1+ foo(...args);
2 2

obj.foo.apply(obj, args);
code-block.js:1:1 lint/nursery/useSpread  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

apply() is used to call a function with arguments provided as an array.

> 1 │ obj.foo.apply(obj, args);
^^^^^^^^^^^^^^^^^^^^^^^^
2 │

This rule belongs to the nursery group, which means it is not yet stable and may change in the future. Visit https://biomejs.dev/linter/#nursery for more information.

Unsafe fix: Use the spread operator.

1 - obj.foo.apply(obj,·args);
1+ obj.foo(...args);
2 2

foo(...args);
obj.foo(...args);
foo.apply(obj, [1, 2, 3]);