Function bodies support terminating if guards, conditional joins with normal or owning-return arms and at most one assigned outer binding, return, throw, while loops and terminating switches. Functions state their result with an explicit terminator. Loops retain multiple state values and may contain nested loops, conditional arms, break, continue, owning-function returns, throws and switches with braced cases.
Refused by design, each page showing what fjs compile prints and what to write instead:
- ECMA-262: see each page.