`
linguagem` `
topico` `
nome`Javascript ECMA-262`
` `
titulo`Teste Javascript: Diagrama Sintático - Diagrama de Sintaxe, BNF, Comandos, Exemplos`
` `
descritor`apoie, apoie.org, Javascript, script, statementBlock, statement, ifStatement, forStatement, expr, Comando, BNF, Diagrama Sintático - Diagrama de Sintaxe, Exemplo, Comandos, Linguagem, Filtro, xml, sintaxe, sintaxe original, desenho, programação`
` `
lead`Sintaxes (ECMA-262) representadas por Diagrama Sintático - Diagrama de Sintaxe gerados a partir de BNF , Índice, Guia de visualização rápida e Exemplos.`
` `
link`wikipedia Cheat-sheet`
` `
origem`Javascript.xml`
` `
referencia`~DSGerador~ Referência rápida (Cheat Sheet)`
` `
fonte` Fonte `
` `
` `
topico` `
titulo`Program`
` `
bnf`[SourceElement+]`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript Program`
` `
` `
topico` `
titulo`SourceElement`
` `
bnf`Statement | FunctionDeclaration`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript SourceElement`
` `
` `
topico` `
titulo`FunctionDeclaration`
` `
bnf`function Identifier FormalParameterList FunctionBody`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript FunctionDeclaration`
` `
` `
topico` `
titulo`FunctionExpression`
` `
bnf`function Identifier? FormalParameterList FunctionBody`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript FunctionExpression`
` `
` `
topico` `
titulo`FormalParameterList`
` `
bnf`'(' [Identifier ( ',' Identifier)*] ')'`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript FormalParameterList`
` `
` `
topico` `
titulo`FunctionBody`
` `
bnf`'{' [SourceElement+] '}'`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript FunctionBody`
` `
` `
topico` `
titulo`Statement`
` `
bnf`Block VariableStatement |
EmptyStatement | ExpressionStatement |
IfStatement |
IterationStatement ContinueStatement |
BreakStatement |
ReturnStatement | WithStatement |
LabelledStatement |
SwitchStatement ThrowStatement |
TryStatement | DebuggerStatement `
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript Statement`
` `
` `
topico` `
titulo`Block`
` `
bnf`'{' StatementList '}'`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript Block`
` `
` `
topico` `
titulo`StatementList`
` `
bnf`[Statement+]`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript StatementList`
` `
` `
topico` `
titulo`VariableStatement`
` `
bnf`var Identifier ['=' AssignmentExpression] (',' Identifier ['=' AssignmentExpression])* ';'`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript VariableStatement`
` `
` `
topico` `
titulo`VariableDeclarationListNoIn`
` `
bnf`Identifier ['=' AssignmentExpressionNoIn] (',' Identifier ['=' AssignmentExpressionNoIn])*`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript VariableDeclarationListNoIn`
` `
` `
topico` `
titulo`EmptyStatement`
` `
bnf`';'`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript EmptyStatement`
` `
` `
topico` `
titulo`ExpressionStatement`
` `
bnf`[lookahead 'nao pertence' '{''{'',' function'}'] Expression ';'`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript ExpressionStatement`
` `
` `
topico` `
titulo`IfStatement`
` `
bnf`if '(' Expression ')' Statement [else Statement]`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript IfStatement`
` `
` `
topico` `
titulo`IterationStatement`
` `
bnf`do Statement while '(' Expression ')' ';' | while '(' Expression ')' Statement |
for '(' (ExpressionNoIn? | var VariableDeclarationListNoIn) ';' Expression? ';' Expression? ')' Statement |
for '('(LeftHandSideExpression | var VariableDeclarationNoIn)in Expression ')' Statement`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript IterationStatement`
` `
` `
topico` `
titulo`ContinueStatement`
` `
bnf`continue [no LineTerminator here] Identifier? ';'`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript ContinueStatement`
` `
` `
topico` `
titulo`BreakStatement`
` `
bnf`break [no LineTerminator here] Identifier? ';'`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript BreakStatement`
` `
` `
topico` `
titulo`ReturnStatement`
` `
bnf`return [no LineTerminator here] Expression? ';'`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript ReturnStatement`
` `
` `
topico` `
titulo`WithStatement`
` `
bnf`with '(' Expression ')' Statement`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript WithStatement`
` `
` `
topico` `
titulo`SwitchStatement`
` `
bnf`switch '(' Expression ')' CaseBlock`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript SwitchStatement`
` `
` `
topico` `
titulo`CaseBlock`
` `
bnf`'{' CaseClauses [DefaultClause CaseClauses] '}'`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript CaseBlock`
` `
` `
topico` `
titulo`CaseClauses`
` `
bnf`'O' (('case' Expression ':')+ StatementList)+`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript CaseClauses`
` `
` `
topico` `
titulo`DefaultClause`
` `
bnf`default ':' StatementList`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript DefaultClause`
` `
` `
topico` `
titulo`LabelledStatement`
` `
bnf`Identifier ':' Statement`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript LabelledStatement`
` `
` `
topico` `
titulo`ThrowStatement`
` `
bnf`throw [no LineTerminator here] Expression ';'`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript ThrowStatement`
` `
` `
topico` `
titulo`TryStatement`
` `
bnf`try Block (Catch | Finally | Catch Finally)`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript TryStatement`
` `
` `
topico` `
titulo`Catch`
` `
bnf`catch'(' Identifier ')' Block`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript Catch`
` `
` `
topico` `
titulo`Finally`
` `
bnf`finally Block`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript Finally`
` `
` `
topico` `
titulo`DebuggerStatement`
` `
bnf`debugger ';'`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript DebuggerStatement`
` `
` `
topico` `
titulo`AssignmentExpression`
` `
bnf`[(LeftHandSideExpression AssignmentOperator)+] ConditionalExpression`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript AssignmentExpression`
` `
` `
topico` `
titulo`AssignmentOperator`
` `
bnf`'= *= /= %= += -= <<= >>= >>>= &= ^= |='`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript AssignmentOperator`
` `
` `
topico` `
titulo`ConditionalExpression`
` `
bnf`OperadorUnario? PostfixExpression { OperadorBinario OperadorUnario? PostfixExpression } O '?' AssignmentExpression ':' AssignmentExpression`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript ConditionalExpression`
` `
` `
topico` `
titulo`PostfixExpression`
` `
bnf`LeftHandSideExpression ["++"|"--"]`
` `
desc`Diagrama Sintático - Diagrama de Sintaxe Javascript PostfixExpression`
` `
` `
topico` `
titulo`OperadorBinario`
` `
desc`Operadores Binários com suas prioridades
  1. < > <= >= instanceof in
  2. == != === !==
  3. || && | ^ &
  4. * / %
  5. +  -
`
` `
` `
`