Skip to content
← Back to rules

eslint/no-param-reassign 제한

작동 방식

함수 매개변수 또는, 선택적으로 그 속성들을 다시 할당하는 것을 금지합니다.

왜 좋지 않은가?

매개변수를 다시 할당하면 함수에 전달된 원래 인자에 의존할 때 예기치 못한 동작을 유발할 수 있습니다. 매개변수의 속성을 변경하는 것도 비슷하게 놀라운 결과를 초래할 수 있으며, 더 어렵게 이해할 수 있습니다.

예시

javascript
function foo(bar) {
  bar = 1;
}

function baz(qux) {
  qux.prop = 2; // `props` 옵션이 활성화되었을 때
}

구성

이 규칙은 다음 속성을 가진 구성 객체를 수락합니다:

ignorePropertyModificationsFor

type: string[]

기본값: []

속성 수정을 무시해야 하는 매개변수 이름들의 배열입니다.

ignorePropertyModificationsForRegex

type: string[]

속성 수정을 무시해야 하는 매개변수 이름에 대한 정규 표현식 패턴(문자열로)의 배열입니다. 참고로 이 기능은 Rust 정규 표현식 구문을 사용하므로, 자바스크립트 정규 표현식에서 제공되는 모든 기능이 있는 것은 아닙니다.

props

type: boolean

기본값: false

true로 설정되면, 매개변수의 속성에 대한 수정도 확인합니다.

사용 방법

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

json
{
  "rules": {
    "no-param-reassign": "error"
  }
}
bash
oxlint --deny no-param-reassign

참고 자료