Reputation: 10818
I have such config
in tslint.json
for one line rule
one-line": [true,
"check-open-brace",
"check-catch",
"check-else",
"check-whitespace"
],
When I have code lines like that:
if(SomethingTrue) { next("a"); }
else { next("b"); }
I've got warning:
(one-line) file.ts[17, 9]: misplaced 'else'
Why that is happens?
Is it bad practice to have one line else
?
Upvotes: 12
Views: 18940
Reputation: 1
Make sure your else if or else starts on the same line where you closed previous condition (}).
if (some condition) {
// logic to be executed
} else if (some additional condition) {
// logic to be executed
} else {
// logic to be executed
}
Upvotes: 0
Reputation: 231
if (condition is true) {
// do something;
}
else {
// do something else;
}
Notice that else
comes next to }
if (condition is true) {
// do something;
} else {
// do something else;
}
Upvotes: 23
Reputation: 41
if (condition) {
// Your Code
} else {
// Your Code
}
End of If
and start of else
should be on the same line.
Upvotes: 3
Reputation: 113
According to the tslint docs the problem is that when "check-else"
is specified under one-line
the else must be on the same line as the closing brace for your if.
So in your case instead of:
if(SomethingTrue) { next("a"); }
else { next("b"); }
Use this format:
if(SomethingTrue) { next("a"); } else { next("b"); }
Upvotes: 4
Reputation: 275977
You have :
else { next("b"); }
Else must be one one line. So:
else {
next("b");
}
Is it bad practice to have one line else?
Just easier to read. Its a styleguide for consistency.
Upvotes: 10