title: Making Sense of 'No Shadowed Variable' tslint Warning
body: <p>I have a function that checks for the current stage in a sequential stream, based on a particular discipline that is passed in, and, according to that value, assigns the next value in my Angular 2 app. It looks something like this:</p>
  <pre><code>private getNextStageStep(currentDisciplineSelected) {
      const nextStageStep = '';
          if (this.stageForDiscipline(this.currentDisciplineSelected) === 'step 1') {
              const nextStageStep = 'step 2';
          } else if (this.stageForDiscipline(this.currentDisciplineSelected) === 'step 2') {
              const nextStageStep = 'step 3';
          } else if (this.stageForDiscipline(this.currentDisciplineSelected) === 'step 3') {
              const nextStageStep = 'step 4';
          } else if (this.stageForDiscipline(this.currentDisciplineSelected) === 'step 4') {
              const nextStageStep = 'step 5';
          } else if (this.stageForDiscipline(this.currentDisciplineSelected) === 'step 5') {
              const nextStageStep = 'step 6';
      }
      return nextStageStep;
  }
  </code></pre>
  <p>What I'm doing here is returning the value of <code>nextStageStep</code>, because that's what I'll be then passing in order for the correct stage step to happen.</p>
  <p>Right now, my tslint is underlining each of the <code>nextStageStep</code> variable occurrences with the warning <code>no shadowed variables</code>. If I remove the line where I initialize to an empty string that warning goes away, but then I get the error, <code>Cannot find nextStageStep</code> showing up in my return statement.</p>
  <p>What is the issue with the original shadowed variable warning, and is there an alternative way to write this, and/or should I simply ignore the tslint warning in this situation?</p>