tslint一条线规则放错了'else'

sre*_*moh 9 typescript tslint

我有这样configtslint.jsonone line rule

one-line": [true,
      "check-open-brace",
      "check-catch",
      "check-else",
      "check-whitespace"
    ],
Run Code Online (Sandbox Code Playgroud)

当我有这样的代码行:

if(SomethingTrue) { next("a"); }
else { next("b"); }
Run Code Online (Sandbox Code Playgroud)

我有警告:

(one-line) file.ts[17, 9]: misplaced 'else'
Run Code Online (Sandbox Code Playgroud)

为什么会这样?拥有一个是不好的做法line else吗?

小智 20

if (condition is true) {
  // do something;
}
else {
  // do something else;
}
Run Code Online (Sandbox Code Playgroud)

请注意else旁边}

if (condition is true) {
  // do something;
} else {
  // do something else;
}
Run Code Online (Sandbox Code Playgroud)


bas*_*rat 9

你有 :

else { next("b"); }
Run Code Online (Sandbox Code Playgroud)

否则必须是一行.所以:

else { 
    next("b"); 
}
Run Code Online (Sandbox Code Playgroud)

在其他方面有一条线是不好的做法吗?

只是更容易阅读.它是一致性的风格指南.

  • 是的我只是意识到``check-else'`规则负责检查. (3认同)
  • 然后它会是`1行if`和`more line else`,我觉得有点连线 (2认同)