我正在为VS Code使用TSLint扩展。我收到了大量[tslint] misplaced 'else' (one-line)
警告。例如,在下面的代码示例中,linter为其他字词加下划线并给出相同的警告:
代码:
if (user.isAdmin) {
this.uiRouter.stateService.go('app.admin');
}
else {
this.sharedVariables.user = user;
this.navigateByUserType(user);
}
此代码有什么问题?
答案 0 :(得分:27)
来自tslint one-line rule documentation
规则:单行
要求指定的标记与...在同一行 他们之前的表达。
您启用了一个名为one-line
的tslint规则,其中包含一个名为check-else
的令牌。这告诉tslint警告每个else
语句与前一个结束花括号不在同一行。如果将else语句向上移动到与if语句的结束大括号相同的行,则应满足tslint规则。
if (user.isAdmin) {
this.uiRouter.stateService.go('app.admin');
} else {
this.sharedVariables.user = user;
this.navigateByUserType(user);
}
答案 1 :(得分:0)
始终确保结束 if 大括号和 else 语句在同一行。
这是根据 TSLint 单行规则文档。