web-dev-qa-db-ja.com

typescript-tslintが誤って配置された 'else'(1行)

VS CodeにTSLint拡張機能を使用しています。 [tslint] misplaced 'else' (one-line)の警告がたくさん表示されました。たとえば、次のコードサンプルでは、​​他のWordに下線が引かれ、同じ警告が表示されます。

コード:

if (user.isAdmin) {
    this.uiRouter.stateService.go('app.admin');
}
else {
    this.sharedVariables.user = user;
    this.navigateByUserType(user);
}

このコードの問題は何ですか?

8
Emre

tslint 1行ルールドキュメント から

ルール:1行

指定されたトークンは、それらの前の式と同じ行にある必要があります。

one-lineと呼ばれるトークンが指定されたcheck-elseと呼ばれるtslintルールが有効になっています。これは、前の終了中括弧と同じ行にないすべてのelseステートメントについて警告するようにtslintに指示します。 elseステートメントを上に移動すると、ifステートメントの終了中括弧と同じ行に移動し、tslintルールが満たされます。

if (user.isAdmin) {
    this.uiRouter.stateService.go('app.admin');
} else {
    this.sharedVariables.user = user;
    this.navigateByUserType(user);
}
31
jontem