Making Sense of 'No Shadowed Variable' tslint Warning

后端 未结 7 1573
隐瞒了意图╮
隐瞒了意图╮ 2020-12-10 09:58

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 nex

7条回答
  •  情书的邮戳
    2020-12-10 10:48

    This has to do with defining the same variable in different scopes. You are defining nextStageStep within the function scope & also within each if block. One option is to get rid of the variable declarations in the if blocks

    if (this.stageForDiscipline(this.currentDisciplineSelected) === 'step 1') {
       nextStageStep = 'step 2';
    } else if (this.stageForDiscipline(this.currentDisciplineSelected) === 'step 2') {
       nextStageStep = 'step 3';
    } else if (this.stageForDiscipline(this.currentDisciplineSelected) === 'step 3') {
       nextStageStep = 'step 4';
    } else if (this.stageForDiscipline(this.currentDisciplineSelected) === 'step 4') {
       nextStageStep = 'step 5';
    } else if (this.stageForDiscipline(this.currentDisciplineSelected) === 'step 5') {
       nextStageStep = 'step 6';
    }
    

    Here is a good resource on shadowed variables http://eslint.org/docs/rules/no-shadow

提交回复
热议问题