As for the big question:
() ?
, .
JavaScript- ,
var o = "Hello" +({stuff:"stuff"});
, .
- , .
.
, . - , 3+5+3/(5+3).
- . :
<expression> ::= <term> | <expression> "+" <term>
<term> ::= <factor> | <term> "*" <factor>
<factor> ::= <constant> | <variable> | "(" <expression> ")"
<variable> ::= "x" | "y" | "z"
<constant> ::= <digit> | <digit> <constant>
<digit> ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
, <factor> "(" <expression> ")" , .
{}:
{prop: 'prop'} , .
- , 11.2 .
12 - statement:
Syntax
Statement :
Block
VariableStatement
EmptyStatement
ExpressionStatement
IfStatement
IterationStatement
ContinueStatement
BreakStatement
ReturnStatement
WithStatement
LabelledStatement
SwitchStatement
ThrowStatement
TryStatement
DebuggerStatement
Block - 12.1 - Block, , , :
Block :
{ StatementListopt }
StatementList :
Statement
StatementList Statement
Semantics
, , StatementList a Block.
prop: prop. prop: LabelledStatement, .
. , .