譛ャ鬆√�逶ョ谺。 逶ョ谺。 谺。鬆�: 13_Function_Definition 蜑埼��: 11_Expressions
Statement 縺ッ LabelledStatement 縺ョ荳驛ィ縺ィ縺ェ繧翫≧繧九@縲√◎繧瑚�霄ォ縺� LabelledStatement 縺ョ荳驛ィ縺ァ縺ゅ▲縺ヲ繧ゅh縺上∽サ・荳句酔讒倥〒縺ゅk縲ゅ%縺ョ譁ケ豕輔〒縺、縺代i繧後◆繝ゥ繝吶Ν縺ッ縲∝九��譁��諢丞袖隲冶ィ倩ソー縺ォ縺翫>縺ヲ "迴セ蝨ィ縺ョ繝ゥ繝吶Ν繧サ繝�ヨ (current label set)" 縺ィ縺励※菴オ縺帙※蜿ら�縺輔l繧九� LabelledStatement 縺ッ繝ゥ繝吶Ν繧サ繝�ヨ縺ク縺ョ繝ゥ繝吶Ν縺ョ蟆主�莉・螟悶�諢丞袖隲悶r謖√◆縺ェ縺�� IterationStatement 縺セ縺溘� SwitchStatement 縺ョ繝ゥ繝吶Ν繧サ繝�ヨ縺ッ譛蛻昴�蜊倅ク縺ョ隕∫エ� empty 縺ァ讒区�縺輔l繧九ゆササ諢上�莉悶�譁��繝ゥ繝吶Ν繧サ繝�ヨ縺ッ蛻晄悄縺ッ empty 縺ァ縺ゅk縲�
逕滓�隕丞援 Block : { } 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 Block : { StatementList } 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 StatementList : Statement 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 StatementList : StatementList Statement 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
var
VariableDeclarationList ;FunctionDeclaration 蜀�Κ縺ァ螟画焚譁�′逋コ逕溘☆繧九↑繧峨�縲√◎縺ョ螟画焚縺ッ縲�繧サ繧ッ繧キ繝ァ繝ウ 10.1.3 縺ォ縺ゅk繧医≧縺ォ縲√◎縺ョ髢「謨ー蜀��髢「謨ー繝ュ繝シ繧ォ繝ォ繧ケ繧ウ繝シ繝励〒螳夂セゥ縺輔l繧九ゅ◎縺�〒縺ェ縺�↑繧峨�縲√◎繧後i縺ッ繝励Ο繝代ユ繧」螻樊ァ { DontDelete } 縺ョ繧ー繝ュ繝シ繝舌Ν繧ケ繧ウ繝シ繝励〒螳夂セゥ縺輔l繧�(縺、縺セ繧翫√そ繧ッ繧キ繝ァ繝ウ10.1.3 縺ォ縺ゅk繧ー繝ュ繝シ繝舌Ν繧ェ繝悶ず繧ァ繧ッ繝医�繝。繝ウ繝舌→縺励※菴懈�縺輔l繧�)縲ょ、画焚縺ッ螳溯。後せ繧ウ繝シ繝励↓蜈・縺」縺溘→縺阪↓逕滓�縺輔l繧九� Block 縺ッ譁ー縺励>螳溯。後せ繧ウ繝シ繝励r螳夂セゥ縺励↑縺�� Program 縺ィ FunctionDeclaration 縺�縺代′譁ー縺励>繧ケ繧ウ繝シ繝励r逕滓�縺吶k縲ら函謌先凾縲∝、画焚縺ッ undefined 縺ァ蛻晄悄蛹悶&繧後k縲ゅう繝九す繝」繝ゥ繧、繧カ繧呈戟縺、螟画焚縺� AssignmentExpression 縺ョ蛟、繧剃サ」蜈・縺輔l繧九�縺ッ VariableStatement 縺悟ョ溯。後&繧後k縺ィ縺阪〒縺ゅj縲∝、画焚縺檎函謌舌&繧後◆縺ィ縺阪〒縺ッ縺ェ縺��
逕滓�隕丞援 VariableStatement : var
VariableDeclarationList ; 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 VariableDeclarationList : VariableDeclaration 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 VariableDeclarationList : VariableDeclarationList , VariableDeclaration 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 VariableDeclaration : Identifier 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 VariableDeclaration : Identifier Initialiser 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 Initialiser : = AssignmentExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 VariableDeclarationListNoIn, VariableDeclarationNoIn, InitialiserNoIn 縺ッ縲∫函謌占ヲ丞援 VariableDeclarationList, VariableDeclaration, Initialiser 縺ィ蜷梧ァ倥↓隧穂セ。縺輔l繧九′縲� VariableDeclarationList, VariableDeclaration, Initialiser, AssignmentExpression 縺ョ莉」繧上j縺ォ縲√◎繧後◇繧� VariableDeclarationListNoIn, VariableDeclarationNoIn, InitialiserNoIn, AssignmentExpressionNoIn 縺瑚ゥ穂セ。縺輔l繧九�
逕滓�隕丞援 EmptyStatement : ; 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
function
} ] Expression ;Block 縺ィ譖匁乂縺ォ縺ェ繧九%縺ィ縺九i縲� ExpressionStatement 縺ッ螟ァ諡ャ蠑ァ "{" 縺ァ髢句ァ九☆繧九%縺ィ縺ッ縺ァ縺阪↑縺�%縺ィ縺ォ豕ィ諢上ゅ∪縺溘� FunctionDeclaration 縺ィ譖匁乂縺ォ縺ェ繧九%縺ィ縺九i縲� ExpressionStatement 縺ッ function
繧ュ繝シ繝ッ繝シ繝峨〒髢句ァ九☆繧九%縺ィ繧ゅ〒縺阪↑縺��
逕滓�隕丞援 ExpressionStatement : [lookahead ∉ {{, function
}] Expression ; 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
if
( Expression ) Statement else
Statementif
( Expression ) Statement髢「騾」縺吶k if
縺ョ驕ク謚槭′譖匁乂縺ェ else
縺ッ縲∝庄閭ス縺ェ髯舌j譛繧りソ代>縲�未騾」縺励↑縺代l縺ー隧イ蠖薙☆繧� else
縺後↑縺�h縺�↑ if
縺ォ縺昴l縺槭l髢「騾」縺励※縺�k縲�
逕滓�隕丞援 IfStatement : if
( Expression ) Statement else
Statement 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 IfStatement : if
( Expression ) Statement 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
郢ー霑斐@譁�� (繧ュ繝シ繝ッ繝シ繝峨→諡ャ蠑ァ縺ョ蛻カ蠕。讒矩�縺ァ讒区�縺輔l繧�) 繝倥ャ繝縺ィ (Statement 縺ァ讒区�縺輔l繧�) 譛ャ譁�〒讒区�縺輔l繧九�
do
Statement while
( Expression );while
( Expression ) Statementfor
(ExpressionNoInopt; Expressionopt ; Expressionopt ) Statementfor
( var
VariableDeclarationListNoIn; Expressionopt ; Expressionopt ) Statementfor
( LeftHandSideExpression in
Expression ) Statementfor
( var
VariableDeclarationNoIn in
Expression ) Statement逕滓�隕丞援 do
Statement while
( Expression ); 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
continue
縺ァ縲√°縺、 Result(2).target 縺檎樟蝨ィ縺ョ繝ゥ繝吶Ν繧サ繝�ヨ蜀�↓縺ゅl縺ー縲√せ繝�ャ繝� 7 縺ク縲�break
縺ァ縲√°縺、 Result(2).target 縺檎樟蝨ィ縺ョ繝ゥ繝吶Ν繧サ繝�ヨ蜀�↓縺ゅl縺ー縲� (normal, V, empty) 繧定ソ斐☆縲�逕滓�隕丞援 IterationStatement : while
( Expression ) Statement 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
continue
縺九▽ Result(6).target 縺檎樟蝨ィ縺ョ繝ゥ繝吶Ν繧サ繝�ヨ縺ェ繧峨�縲√せ繝�ャ繝� 2 縺ク縲�break
縺九▽ Result(6).target 縺檎樟蝨ィ縺ョ繝ゥ繝吶Ν繧サ繝�ヨ縺ェ繧峨�縲� (normal, V, empty) 繧定ソ斐☆縲�逕滓�隕丞援 IterationStatement : for
(ExpressionNoInopt ; Expressionopt ; Expressionopt) Statement 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
break
縺九▽ Result(10).target 縺檎樟蝨ィ縺ョ繝ゥ繝吶Ν繧サ繝�ヨ縺ェ繧峨�縲√せ繝�ャ繝� 19 縺ク縲�continue
縺九▽ Result(10).target 縺檎樟蝨ィ縺ョ繝ゥ繝吶Ν繧サ繝�ヨ縺ェ繧峨�縲√せ繝�ャ繝� 15 縺ク縲�逕滓�隕丞援 IterationStatement : for
( var
VariableDeclarationListNoIn ; Expressionopt ; Expressionopt ) Statement 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
break
縺九▽ Result(8).target 縺檎樟蝨ィ縺ョ繝ゥ繝吶Ν繧サ繝�ヨ蜀�↑繧峨�縲� 繧ケ繝�ャ繝� 17 縺ク縲�continue
縺九▽ Result(8).target 縺檎樟蝨ィ縺ョ繝ゥ繝吶Ν繧サ繝�ヨ蜀�↑繧峨�縲� 繧ケ繝�ャ繝� 13 縺ク縲�逕滓�隕丞援 IterationStatement : for
( LeftHandSideExpression in
Expression ) Statement 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
break
縺九▽ Result(8).target 縺檎樟蝨ィ縺ョ繝ゥ繝吶Ν繧サ繝�ヨ蜀�↑繧峨�縲� 繧ケ繝�ャ繝� 14 縺ク縲�continue
縺九▽ Result(8).target 縺檎樟蝨ィ縺ョ繝ゥ繝吶Ν繧サ繝�ヨ蜀�↑繧峨�縲� 繧ケ繝�ャ繝� 5 縺ク縲�逕滓�隕丞援 IterationStatement : for
( var
VariableDeclarationNoIn in
Expression ) Statement 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
break
縺九▽ Result(9).target 縺檎樟蝨ィ縺ョ繝ゥ繝吶Ν繧サ繝�ヨ蜀�↑繧峨�縲� 繧ケ繝�ャ繝� 15 縺ク縲�continue
縺九▽ Result(9).target 縺檎樟蝨ィ縺ョ繝ゥ繝吶Ν繧サ繝�ヨ蜀�↑繧峨�縲� 繧ケ繝�ャ繝� 6 縺ク縲�繝励Ο繝代ユ繧」縺ョ蛻玲嫌譁ケ豕� (1 蛟狗岼縺ョ繧「繝ォ繧エ繝ェ繧コ繝�縺ョ繧ケ繝�ャ繝� 5, 2 蛟狗岼縺ョ繧ケ繝�ャ繝� 6) 縺ッ螳溯」�セ晏ュ倥〒縺ゅk縲ょ�謖吶�鬆�コ上�繧ェ繝悶ず繧ァ繧ッ繝医↓繧医j螳夂セゥ縺輔l繧九ょ�謖吶&繧後※縺�k繧ェ繝悶ず繧ァ繧ッ繝医�繝励Ο繝代ユ繧」縺ッ蛻玲嫌荳ュ縺ォ蜑企勁縺輔l縺ヲ繧ゅh縺�ょ�謖吩クュ縺セ縺�謖吶£繧峨l縺ヲ縺�↑縺��繝ュ繝代ユ繧」縺悟炎髯、縺輔l繧九↑繧峨�縲√◎縺ョ繝励Ο繝代ユ繧」縺ッ蛻玲嫌縺輔l縺ェ縺�ょ�謖吩クュ繧ェ繝悶ず繧ァ繧ッ繝医↓譁ー縺励>繝励Ο繝代ユ繧」縺瑚ソス蜉�縺輔l繧九↑繧峨�縲∵眠縺溘↓霑ス蜉�縺輔l縺溘�繝ュ繝代ユ繧」縺ッ迴セ蝨ィ縺ョ蛻玲嫌縺ォ縺翫>縺ヲ謖吶£繧峨l繧九%縺ィ繧剃ソ晁ィシ縺輔l縺ェ縺��
繧ェ繝悶ず繧ァ繧ッ繝医�繝励Ο繝代ユ繧」蛻玲嫌縺ッ縲√◎縺ョ繝励Ο繝医ち繧、繝励�繝励Ο繝代ユ繧」縲√�繝ュ繝医ち繧、繝励�繝励Ο繝医ち繧、繝励�繝励Ο繝代ユ繧」縲∽サ・荳句酔讒倥↓蜀榊クー逧�↓繝励Ο繝代ユ繧」繧貞性繧; 縺励°縺励∝酔蜷阪�繝励Ο繝代ユ繧」繧呈戟縺、繝励Ο繝医ち繧、繝励メ繧ァ繝シ繝ウ蜀��蜑阪�繧ェ繝悶ず繧ァ繧ッ繝医↓繧医j "髫�縺輔l繧�" 縺ェ繧峨�縲√�繝ュ繝医ち繧、繝励�繝励Ο繝代ユ繧」縺ッ蛻玲嫌縺輔l縺ェ縺��
continue
[LineTerminator 辟。縺余 Identifieropt ;谺。縺ョ縺�★繧後°縺檎悄縺ァ縺ゅk縺ィ縺阪√�繝ュ繧ー繝ゥ繝�縺ッ讒区枚逧�↓荳肴ュ」縺ァ縺ゅk縺ィ閠�∴繧峨l繧�:
continue
螳」險縺ァ讒区�縺輔l縺ヲ縺�※縲∫峩謗・縺セ縺溘�髢捺磁逧�↓(髢「謨ー縺ョ蛹コ蛻�j縺ォ縺セ縺溘′繧峨↑縺�)縲� IterationStatement 蜀�↓繝阪せ繝医@縺ェ縺ヲ縺�↑縺��continue
螳」險縺ァ讒区�縺輔l縺ヲ縺�※縲�哩縺倥◆ (髢「謨ー縺ョ蛹コ蛻�j縺ォ縺ッ縺セ縺溘′繧峨↑縺�) IterationStatement 縺ョ繝ゥ繝吶Ν繧サ繝�ヨ蜀�↓ Identifier 縺悟�迴セ縺励↑縺�Identifier 縺ョ縺ェ縺� ContinueStatement 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
Identifier 繧呈戟縺、 ContinueStatement 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
break
[LineTerminator 辟。縺余 Identifieropt ;谺。縺ョ縺�★繧後°縺檎悄縺ァ縺ゅk蝣エ蜷医√�繝ュ繧ー繝ゥ繝�縺ッ讒区枚逧�↓荳肴ュ」縺ァ縺ゅk縺ィ閠�∴繧峨l繧�:
break
譁�r蜷ォ縺ソ縲√◎繧後′ IterationStatement 縺セ縺溘� SwitchStatement 蜀�Κ縺ァ逶エ謗・逧�∪縺溘�髢捺磁逧�↓繝阪せ繝医@縺ヲ縺�↑縺�� (髢「謨ー縺ョ蠅�阜縺ォ縺ッ莠、繧上i縺ェ縺�)break
譁�r蜷ォ縺ソ縲� Identifier 縺� Statement 繧貞峇繧繝ゥ繝吶Ν繧サ繝�ヨ蜀�↓蜃コ迴セ縺励↑縺�� (髢「謨ー縺ョ蠅�阜縺ォ縺ッ莠、繧上i縺ェ縺�)Identifier 縺ョ縺ェ縺� BreakStatement 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
Identifier 縺ョ縺ゅk BreakStatement 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
return
[LineTerminator 辟。縺余 Expressionopt ;ECMAScript 繝励Ο繧ー繝ゥ繝�縺ッ縲√◎繧後′ FunctionBody 蜀�Κ\縺ァ縺ェ縺� return
譁�r蜷ォ繧蝣エ蜷医∵ァ区枚逧�↓荳肴ュ」縺ィ閠�∴繧峨l繧九�return 譁��縲�未謨ー縺ォ螳溯。後r蛛懈ュ「縺輔○縲∝、繧貞他蜃コ蛛エ縺ォ霑斐&縺帙k縲� Expression 縺檎怐逡・縺輔l繧句�エ蜷医∵綾繧雁、縺ッ undefined 縺ァ縺ゅk縲ゅ◎縺�〒縺ェ縺代l縺ー縲∵綾繧雁、縺ッ Expression 縺ョ蛟、縺ァ縺ゅk縲�
逕滓�隕丞援 ReturnStatement : return
[no LineTerminator here] Expressionopt ; 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
with
( Expression ) Statementwith
譁��迴セ蝨ィ縺ョ螳溯。後さ繝ウ繝�く繧ケ繝医�繧ケ繧ウ繝シ繝鈴」骼悶�蜈磯�ュ縺ォ邂怜�縺輔l縺溘が繝悶ず繧ァ繧ッ繝医r霑ス蜉�縺励√%縺ョ諡。蠑オ縺輔l縺溘せ繧ウ繝シ繝鈴」骼悶r逕ィ縺�※譁�r螳溯。後@縲√せ繧ウ繝シ繝鈴」骼悶r闢�ゥ阪☆繧九�
逕滓�隕丞援 WithStatement : with
( Expression ) Statement 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
NOTE 蝓九a霎シ縺セ繧後◆ Statement 縺ォ縺ゥ縺ョ繧医≧縺ォ蛻カ蠕。縺梧ョ九▲縺溘→縺励※繧ゅ�壼クク縺ァ繧阪≧縺ィ荳ュ騾泌ョ御コ�d萓句、悶�蠖「蠑上〒縺ゅm縺�→縲√せ繧ウ繝シ繝励メ繧ァ繝シ繝ウ縺ォ縺ッ蟶ク縺ォ萓晉┯縺ョ迥カ諷九′闢�ゥ阪&繧後k縲�
switch
( Expression ) CaseBlockcase
Expression : StatementListoptdefault
: StatementListopt逕滓�隕丞援 SwitchStatement : switch
( Expression ) CaseBlock 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
break
縺ァ Result(3).target 縺檎樟蝨ィ縺ョ繝ゥ繝吶Ν繧サ繝�ヨ縺ェ繧峨�縲� (normal, Result(3).value, empty) 繧定ソ斐☆縲�逕滓�隕丞援 CaseBlock : { CaseClausesopt } 縺ッ蜈・蜉帙ヱ繝ゥ繝。繝シ繧ソ input 繧剃ク弱∴繧峨l縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 CaseBlock : { CaseClausesopt DefaultClause CaseClausesopt } 縺ッ蜈・蜉帙ヱ繧峨Γ繝シ繧ソ input 繧剃ク弱∴繧峨l縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 CaseClause : case
Expression : StatementListopt 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
NOTE CaseClause 隧穂セ。縺ッ髢「騾」 StatementList 繧貞ョ溯。後@縺ェ縺�ょ腰邏斐↓ Expression 繧定ゥ穂セ。縺励� StatementList 螳溯。碁幕蟋句愛螳壹↓ CaseBlock 繧「繝ォ繧エ繝ェ繧コ繝�縺檎畑縺�k蛟、繧定ソ斐☆縲�
Statement 縺ォ繝ゥ繝吶Ν繧貞�陦後&縺帙※繧医>縲ゅΛ繝吶Ν莉倥″譁��縲√Λ繝吶Ν莉倥″ break
蜿翫� continue
譁�→縺ィ繧ゅ↓菴ソ逕ィ縺輔l繧九□縺代〒縺ゅk縲� ECMAScript 縺ッ goto
譁�r謖√◆縺ェ縺��
ECMAScript 繝励Ο繧ー繝ゥ繝�縺ッ縲� LabelledStatement 縺ォ繧医▲縺ヲ繝ゥ繝吶Ν縺ィ蜷後§ Identifier 縺ァ髢峨§繧峨l縺ヲ縺�k LabelledStatement 繧貞性繧蝣エ蜷医∵ァ区枚逧�↓荳肴ュ」縺ァ縺ゅk縺ィ閠�∴繧峨l繧九ゅ%繧後�縲√Λ繝吶Ν莉倥¢縺輔l縺滓枚荳ュ縺ァ繝阪せ繝医&繧後k FunctionDeclaration 縺ョ譛ャ譁��縺ォ逶エ謗・縺ゅk縺��髢捺磁逧�↓迴セ繧上l繧九Λ繝吶Ν縺ォ縺ッ蠖薙※縺ッ縺セ繧峨↑縺��
逕滓�隕丞援 Identifier : Statement 縺ッ縲� Statement 縺ョ繝ゥ繝吶Ν繧サ繝�ヨ縺ォ Identifier 繧定ソス蜉�縺吶k蠖「縺ァ隧穂セ。縺輔l縲� Statement 繧定ゥ穂セ。縺吶k縲� LabelledStatement 閾ェ霄ォ縺檎ゥコ縺ァ縺ェ縺�Λ繝吶Ν繧サ繝�ヨ繧呈戟縺、縺ェ繧峨�縲√◎繧後i縺ョ繝ゥ繝吶Ν縺ッ縺セ縺溘◎繧後′隧穂セ。縺輔l繧句燕縺ォ Statement 縺ョ繝ゥ繝吶Ν繧サ繝�ヨ縺ォ霑ス蜉�縺輔l繧九� L 繧� Identifier 縺ィ遲峨@縺�→縺励※ Statement 隧穂セ。縺ョ邨先棡縺� (break, V, L) 縺ェ繧峨�縲∫函謌占ヲ丞援縺ッ (normal, V, empty) 繧堤オ先棡縺ィ縺吶k縲�
LabelledStatement 縺ョ隧穂セ。縺ォ蜈育ォ九▲縺ヲ縲∝性縺セ繧後k Statement 縺ッ遨コ縺ョ繝ゥ繝吶Ν繧サ繝�ヨ繧呈園譛峨☆繧九→隕九↑縺輔l繧九′縲√◎繧後′ IterationStatement 縺ゅk縺�� SwitchStatement 縺ェ繧峨�縲√◎縺ョ蝣エ蜷医◎繧後�蜊倅ク縺ョ隕∫エ� empty 縺九i縺ェ繧九Λ繝吶Ν繧サ繝�ヨ繧呈園譛峨☆繧九→隕九↑縺輔l繧九�
throw
[LineTerminator 辟。縺余 Expression ;逕滓�隕丞援 ThrowStatement : throw
[no LineTerminator here] Expression ; 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
try
譁��縲∝ョ溯。梧凾繧ィ繝ゥ繝シ繧� throw
譁��繧医≧縺ェ萓句、也噪譚。莉カ縺檎匱逕溘☆繧九さ繝シ繝峨�繝悶Ο繝�け繧貞峇繧縲� catch
繧ッ繝ュ繝シ繧コ縺ッ萓句、悶↓繝上Φ繝峨Μ繝ウ繧ー縺輔l繧九さ繝シ繝峨r謠蝉セ帙☆繧九� catch
繧ッ繝ュ繝シ繧コ縺御セ句、悶r蜿励¢蜿悶k縺ィ縺阪√◎縺ョ Identifier 縺ッ逋コ逕溘@縺滉セ句、悶↓繝舌う繝ウ繝峨&繧後k縲�
逕滓�隕丞援 TryStatement : try
Block Catch 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
throw
縺ァ縺ェ縺代l縺ー縲� Result(1) 繧定ソ斐☆縲�逕滓�隕丞援 TryStatement : try
Block Finally 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 TryStatement : try
Block Catch Finally 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
throw
縺ァ縺ェ縺代l縺ー縲√せ繝�ャ繝� 6 縺ク縲�逕滓�隕丞援 Catch : catch
( Identifier ) Block 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
new
Object() 縺ォ繧医k繧ゅ�縺ァ縺ゅk縺九�繧医≧縺ォ縲∵眠縺励>繧ェ繝悶ず繧ァ繧ッ繝医r逕滓�縺吶k縲�逕滓�隕丞援 Finally : finally
Block 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�: