prefer-object-spread
Запрещает использовать Object.assign с литералом объекта в качестве первого аргумента и рекомендует вместо этого использовать синтаксис распространения свойств объекта
Некоторые проблемы, о которых сообщает это правило, автоматически исправляются параметром командной строки --fix
Это правило в настоящее время заморожено, и предложения по новым функциям для него не принимаются.
Если Object.assign вызывается с литералом объекта в качестве первого аргумента, это правило требует вместо этого использовать синтаксис распространения свойств объекта. Это правило также предупреждает о случаях, когда вызов Object.assign выполняется с одним аргументом — литералом объекта; в этом случае вызов Object.assign не нужен.
Синтаксис распространения свойств объекта, появившийся в ES2018, — это декларативная альтернатива, которая может работать эффективнее, чем более динамический императивный вариант Object.assign.
Подробности правила
Примеры неправильного кода для этого правила:
/*eslint prefer-object-spread: "error"*/
;
;
;
;
;
// Object.assign with a single argument that is an object literal
;
;
Примеры правильного кода для этого правила:
/*eslint prefer-object-spread: "error"*/
({ ...foo });
({ ...baz, foo: 'bar' });
// Any Object.assign call without an object literal as the first argument
Object.assign(foo, { bar: baz });
Object.assign(foo, bar);
Object.assign(foo, { bar, baz });
Object.assign(foo, { ...baz });
Параметры
У этого правила нет параметров.
Когда не следует использовать это правило
Это правило не следует использовать, если в вашей кодовой базе не поддерживается ES2018.
Версия
Это правило появилось в ESLint v5.0.0-alpha.3.
Ресурсы
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/prefer-object-spread