方法中一行的tslint错误

时间:2017-09-29 17:15:06

标签: javascript jquery angularjs typescript tslint

  • 我是tslint和打字稿的新手。
  • 我正在尝试修复此错误。不必要的局部变量:stackThird
  • 你能告诉我如何解决它。
  • 我做了一些研究,但没有找到解决方案。
  • 它指向这条线 让stackThird = stackSecond +" /" + stackFirst.stackTags()+" /" + stackFirst.stackFour(); // +" &#34 +时间;

  • 提供以下代码。

  • 我甚至看过这个链接并尝试但无法继续

https://github.com/Microsoft/tslint-microsoft-contrib

不必要的局部变量:stackThird

 public stackTags(): any {
    let stackFirst = new Date();
    let stackSecond = stackFirst.stackFive();
    stackSecond++;
    let stackThird = stackSecond + "/" + stackFirst.stackTags() + "/" + stackFirst.stackFour(); // +" "+Time;
    return stackThird;
  }

2 个答案:

答案 0 :(得分:0)

更改

let stackThird = stackSecond + "/" + stackFirst.stackTags() + "/" + stackFirst.stackFour();
return stackThird;`

return stackSecond + "/" + stackFirst.stackTags() + "/" + stackFirst.stackFour();

抱怨是因为你正在创造一个不必要的变量(stackThird) 由于在声明/分配之后你没有对它做任何事情,所以它是抱怨的,因为你应该从方法中返回该值,而不是将其分配给变量然后返回变量。

答案 1 :(得分:0)

规则no-unnecessary-local-variable就是这个:

  

不要声明变量只是为了从下一行的函数返回它。简单地返回初始化变量的表达式总是更少的代码。

它不是标准tslint的一部分,而是来自tslint-microsoft-contrib,这是一套更严格的规则。

如果您不喜欢此规则,您可以停用此规则(个性化,这是我在项目中所做的事情):

// tslint.json
{
    "rulesDirectory": [
        "node_modules/tslint-microsoft-contrib"
    ],
    "rules": {
        "no-unnecessary-local-variable": false
    }
}

或者您可以通过返回计算结果而不使用变量来修复它:

return stackSecond + "/" + stackFirst.stackTags() + "/" + stackFirst.stackFour();