Skip to content
← Back to rules

eslint/prefer-object-spread 스타일

An auto-fix is available for this rule.

작동 방식

Object.assign을 첫 번째 인자로 객체 리터럴을 사용할 때는 금지하고, 대신 객체 전개 구문을 사용하도록 권장합니다.

왜 문제가 될까요?

Object.assign이 첫 번째 인자로 객체 리터럴을 사용하여 호출될 경우, 이 규칙은 객체 전개 구문 사용을 요구합니다. 또한 단일 인자가 객체 리터럴인 Object.assign 호출의 경우에도 경고를 발생시킵니다. 이러한 경우 Object.assign 호출은 불필요합니다.

예시

이 규칙에 잘못된 예시:

js
Object.assign({}, foo);

Object.assign({}, { foo: "bar" });

Object.assign({ foo: "bar" }, baz);

Object.assign({}, baz, { foo: "bar" });

Object.assign({}, { ...baz });

// 단일 인자가 객체 리터럴인 Object.assign
Object.assign({});

Object.assign({ foo: bar });

이 규칙에 올바른 예시:

js
({ ...foo });

({ ...baz, foo: "bar" });

// 첫 번째 인자가 객체 리터럴이 아닌 모든 Object.assign 호출
Object.assign(foo, { bar: baz });

Object.assign(foo, bar);

Object.assign(foo, { bar, baz });

Object.assign(foo, { ...baz });

사용 방법

구성 파일 또는 명령줄에서 이 규칙을 활성화하려면 다음을 사용할 수 있습니다:

json
{
  "rules": {
    "prefer-object-spread": "error"
  }
}
bash
oxlint --deny prefer-object-spread

참고 항목