-
Notifications
You must be signed in to change notification settings - Fork 103
Statements
kazuho edited this page Jul 2, 2012
·
7 revisions
Following types of statements are supported by JSX. The differences from JavaScript are:
- block statements cannot have labels
- the introduction of super(...) statement
- delete is a statement instead of an expression
- argument of catch clause can be typed, and thus the clause is nestable
Statement | Description |
---|---|
; | empty statement |
{ statement* } | block statement |
expr; | evaluates the expr |
return; | returns void |
return expr; | returns the result of the expr |
if (expr) statement [else statement] | if statement |
var varname[ = expr][, varname2 = expr2, ...]; | variable declaration |
break; | exits from the inner-most loop or switch statement |
break LABEL; | exits to the loop or switch statement with label LABEL |
continue; | skips to the end of the loop statement |
continue LABEL; | skip to the end of the loop statement with label LABEL |
[LABEL:]do statement while (expr); | |
[LABEL:]for (expr in expr) statement | |
[LABEL:]for (var varname in expr) statement | |
[LABEL:]for (expr; expr; expr) statement | |
[LABEL:]for (var varname = expr; expr; expr) statement | |
[LABEL:]while (expr) statement | |
[LABEL:]switch (expr) statement | |
case expr:statement | |
default:statement | |
delete expr; | deletes the property of a Map returned by the expr |
super(...); | calls the constructor of the super class |
try { statement* } [catch (varname : type) { statement* }]* [finally { statement* }] | catch statement can be nested |