Overriding a variable declared in an outer scope can strongly impact the readability, and therefore the maintainability, of a piece of code. Further, it could lead maintainers to introduce bugs because they think they're using one variable but are really using another.

Noncompliant Code Example

function foo() {
  let x = bar(1);
  if (x > 0) {
      let x = bar(2); // Noncompliant
      console.log(x);
  } else {
     console.log("Wrong Value");
  }
}

Compliant Solution

function foo() {
  let x = bar(1);
  if (x > 0) {
      let y = bar(2);
      console.log(y);
  } else {
     console.log("Wrong Value");
  }
}

See