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