noParameterAssign
Summary
Section titled Summary- Rule available since: 
v1.0.0 - Diagnostic Category: 
lint/style/noParameterAssign - This rule doesn’t have a fix.
 - The default severity of this rule is warning.
 - Sources:
- Same as 
no-param-reassign 
 - Same as 
 
Description
Section titled DescriptionDisallow reassigning function parameters.
Assignment to a function parameters can be misleading and confusing,
as modifying parameters will also mutate the arguments object.
It is often unintended and indicative of a programmer error.
In contrast to the ESLint rule, this rule cannot be configured to report assignments to a property of a parameter.
Examples
Section titled ExamplesInvalid
Section titled Invalidfunction f(param) {    param = 13;}code-block.js:2:5 lint/style/noParameterAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ⚠ Reassigning a function parameter is confusing.
  
    1 │ function f(param) {
  > 2 │     param = 13;
      │     ^^^^^
    3 │ }
    4 │ 
  
  ℹ The parameter is declared here:
  
  > 1 │ function f(param) {
      │            ^^^^^
    2 │     param = 13;
    3 │ }
  
  ℹ Use a local variable instead.
  
function f(param) {    param++;}code-block.js:2:5 lint/style/noParameterAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ⚠ Reassigning a function parameter is confusing.
  
    1 │ function f(param) {
  > 2 │     param++;
      │     ^^^^^
    3 │ }
    4 │ 
  
  ℹ The parameter is declared here:
  
  > 1 │ function f(param) {
      │            ^^^^^
    2 │     param++;
    3 │ }
  
  ℹ Use a local variable instead.
  
function f(param) {    for (param of arr) {}}code-block.js:2:10 lint/style/noParameterAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ⚠ Reassigning a function parameter is confusing.
  
    1 │ function f(param) {
  > 2 │     for (param of arr) {}
      │          ^^^^^
    3 │ }
    4 │ 
  
  ℹ The parameter is declared here:
  
  > 1 │ function f(param) {
      │            ^^^^^
    2 │     for (param of arr) {}
    3 │ }
  
  ℹ Use a local variable instead.
  
class C {    constructor(readonly prop: number) {        prop++    }}code-block.ts:3:9 lint/style/noParameterAssign ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ⚠ Reassigning a function parameter is confusing.
  
    1 │ class C {
    2 │     constructor(readonly prop: number) {
  > 3 │         prop++
      │         ^^^^
    4 │     }
    5 │ }
  
  ℹ The parameter is declared here:
  
    1 │ class C {
  > 2 │     constructor(readonly prop: number) {
      │                          ^^^^^^^^^^^^
    3 │         prop++
    4 │     }
  
  ℹ Use a local variable instead.
  
Valid
Section titled Validfunction f(param) {    let local = param;}How to configure
Section titled How to configure{  "linter": {    "rules": {      "style": {        "noParameterAssign": "error"      }    }  }}