No true, because with such syntax else if is side-effect (i.e. it comes for free). In other words there is no else if syntax, there is only if and else here.
In your case, whether you need an else clause depends on whether you want specific code to run if and only if neither of condition1, condition2, and condition3 are true. else can be omitted for any if statement, there is nothing special in the last if of an if / else if chain. This is documented in any JavaScript grammar, e.g. in the specification.
Not the same. 'else if' is generally to be preferred, because you can keep inserting or appending more of them indefinitely, or append an 'else', whereas with the other form you have to endlessly mess around with braces to get the same effect, and you risk altering the semantics, as indeed you have done in your second sample.
One reason very old languages use this distinct syntax instead of "else if" is that the "else if" introduces a grammar ambiguity. Old parser generators were hard to teach about what to do for ambiguities, so we avoided them.
Can you explain me why } must precede else or else if in the same line? Are there any other way of writing the if-else if-else statement in R, especially without brackets?
93 Python try-else What is the intended use of the optional else clause of the try statement? The intended use is to have a context for more code to run if there were no exceptions where it was expected to be handled. This context avoids accidentally handling errors you did not expect.
Regarding why else is not needed after every single if: An if-else or if-else if-else completely covers all possible values that a variable can have. But a plain if statement is not necessarily there to cover all possible values, it has a much broader usage. Most often you just wish to check a certain condition and if it is not met, then do ...
The else clause is executed if you exit a block normally, by hitting the loop condition or falling off the bottom of a try block. It is not executed if you break or return out of a block, or raise an exception. It works for not only while and for loops, but also try blocks. You typically find it in places where normally you would exit a loop early, and running off the end of the loop is an ...