譛ャ鬆√�逶ョ谺。 逶ョ谺。

7 蟄怜唱縺ォ縺、縺�※ (Lexical Convention)

ECMAScript 繝励Ο繧ー繝ゥ繝�縺ョ繧ス繝シ繧ケ繝�く繧ケ繝医�譛€蛻昴↓縲√ヨ繝シ繧ッ繝ウ縲∬。檎オらォッ蟄舌€√さ繝。繝ウ繝医≠繧九>縺ッ遨コ逋ス縺ョ縺�★繧後°縺ァ縺ゅk蜈・蜉幄ヲ∫エ�縺ョ繧キ繝シ繧ア繝ウ繧ケ縺ォ螟画鋤縺輔l繧九€ゅた繝シ繧ケ繝�く繧ケ繝医�縲∵ャ。縺ョ蜈・蜉幄ヲ∫エ�縺ィ縺励※縺ァ縺阪k縺�縺鷹聞縺�枚蟄励す繝シ繧ア繝ウ繧ケ繧堤ケー繧願ソ斐@縺ィ縺」縺ヲ縲∝キヲ縺九i蜿ウ縺ク縺ィ襍ー譟サ縺輔l繧九€�

蟄怜唱譁�ウ輔↓縺ッ 2 縺、縺ョ逶ョ讓呵ィ伜捷縺後≠繧九€� InputElementDiv 險伜捷縺ッ縲�勁豕墓シ皮ョ怜ュ� (/) 縺セ縺滄勁豕穂サ」蜈・貍皮ョ怜ュ� (/=) 縺瑚ィア縺輔l繧区ァ区枚逧�枚豕輔さ繝ウ繝�く繧ケ繝医〒菴ソ逕ィ縺輔l繧九€� InputElementRegExp 險伜捷縺ッ莉悶�讒区枚逧�枚豕輔さ繝ウ繝�く繧ケ繝医〒菴ソ逕ィ縺輔l繧九€�

NOTE 讒区枚逧�↑譁�ウ募�縺ォ縲�勁邂励♀繧医� RegularExpressionLiteral 縺ョ荳。譁ケ縺梧ァ区枚逧�枚豕輔↓繧医▲縺ヲ險ア縺輔l繧九さ繝ウ繝�く繧ケ繝医′蟄伜惠縺吶k; 縺�縺後€√◎縺�>縺��エ蜷亥ュ怜唱譁�ウ輔� InputElementDiv 逶ョ讓呵ィ伜捷繧剃スソ逕ィ縺吶k縺ョ縺ァ縲√◎縺ョ繧ウ繝ウ繝�く繧ケ繝井クュ縺ァ繧ケ繝ゥ繝�す繝・髢句ァ九�豁」隕剰。ィ迴セ繝ェ繝�Λ繝ォ髢句ァ九→縺ッ隱阪a繧峨l縺ェ縺�€ゆサ」譖ソ謇区ョオ縺ィ縺励※縲∽ク€縺、縺ッ諡ャ蠑ァ縺ァ豁」隕剰。ィ迴セ繝ェ繝�Λ繝ォ繧貞峇繧薙〒繧医>縲�

Syntax
InputElementDiv ::
WhiteSpace
LineTerminator
Comment
Token
DivPunctuator
InputElementRegExp ::
WhiteSpace
LineTerminator
Comment
Token
RegularExpressionLiteral

7.1 Unicode 蛻カ蠕。譁�ュ� (Unicode Format-Control Characters)

繝輔か繝シ繝槭ャ繝亥宛蠕。縺ョ縺溘a縺ョ (繝槭�繧ッ繧「繝��險€隱槭�繧医≧縺ェ) 荳贋ス肴焔鬆�′縺ェ縺��縺ァ縲� Unicode 蠖「蠑丞宛蠕。譁�ュ� (萓�: LEFT-TO-RIGHT MARK 繧� RIGHT-TO-LEFT MARK 縺ョ繧医≧縺ェ縲� Unicode 譁�ュ励ョ繝シ繧ソ繝吶�繧ケ (Unicode Character Database) 縺ォ縺翫¢繧� "Cf" 繧ォ繝�ざ繝ェ縺ョ譁�ュ�) 縺ィ縺�≧蛻カ蠕。繧ウ繝シ繝峨〒繝�く繧ケ繝医�遽�峇縺ョ繝輔か繝シ繝槭ャ繝医r蛻カ蠕。縺吶k縲らキィ髮�r螳ケ譏薙↓縺励∪縺溯。ィ遉コ縺吶k縺溘a縲√た繝シ繧ケ繝�く繧ケ繝亥�縺ァ縺ョ縺薙l繧峨�險ア蜿ッ縺ッ譛臥寢縺ァ縺ゅk縲�

繝輔か繝シ繝槭ャ繝亥宛蠕。譁�ュ励� ECMAScript 繝励Ο繧ー繝ゥ繝�縺ョ繧ス繝シ繧ケ繝�く繧ケ繝医�縺ゥ縺ョ蝣エ謇€縺ォ蜃コ迴セ縺励※繧ゅh縺�€ゅ%繧後i縺ョ譁�ュ励�縲∝ュ怜唱譁�ウ輔r驕ゥ逕ィ縺吶k蜑阪↓繧ス繝シ繧ケ繝�く繧ケ繝医°繧牙叙繧企勁縺九l繧九€よ枚蟄怜�縺ィ豁」隕剰。ィ迴セ繝ェ繝�Λ繝ォ縺ョ蜃ヲ逅�燕縺ォ縺薙l繧峨�譁�ュ励′蜿悶j髯、縺九l繧九�縺ァ縲∵枚蟄怜�縲∵ュ」隕剰。ィ迴セ蜀�↓ Unicode 蛻カ蠕。譁�ュ励r蜈・繧後k縺ォ縺ッ Unicode 繧ィ繧ケ繧ア繝シ繝励す繝シ繧ア繝ウ繧ケ (繧サ繧ッ繧キ繝ァ繝ウ 7.6) 繧剃スソ逕ィ縺励↑縺代l縺ー縺ェ繧峨↑縺�€�

7.2 遨コ逋ス (White Space)

遨コ逋ス譁�ュ励�縲√た繝シ繧ケ繝�く繧ケ繝医�蜿ッ隱ュ諤ァ繧貞髄荳翫&縺帙€√◎縺励※繝医�繧ッ繝ウ (荳榊庄蛻��蟄怜唱蜊倅ス�) 繧剃コ偵>縺ォ蛻�屬縺輔○繧九◆繧√↓菴ソ逕ィ縺輔l縲√◎繧御サ・荳翫�諢丞袖縺ッ縺ェ縺�€らゥコ逋ス縺ッ 2 縺、縺ョ繝医�繧ッ繝ウ縺ョ髢薙€√∪縺滓枚蟄怜�縺ョ荳ュ縺ォ蜃コ迴セ縺ァ縺阪k(繝ェ繝�Λ繝ォ譁�ュ怜�蛟、縺ョ荳€驛ィ繧貞ス「謌舌☆繧区э蜻ウ縺ョ縺ゅk譁�ュ励→閠�∴繧峨l繧�)縲ゅ□縺後€√ヨ繝シ繧ッ繝ウ縺ョ荳ュ縺ォ蜃コ迴セ縺吶k縺薙→縺ッ蜃コ譚・縺ェ縺�€�

谺。縺ョ譁�ュ励′遨コ逋ス縺ィ閠�∴繧峨l繧�:

Code Point Value Name Formal Name
\u0009 Tab <TAB>
\u000B Vertical Tab <VT>
\u000C Form Feed <FF>
\u0020 Space <SP>
\u00A0 No-break space <NBSP>
Other category "Zs" 縺昴�莉悶� Unicode "space separator" <USP>
Syntax
WhiteSpace ::
<TAB>
<VT>
<FF>
<SP>
<NBSP>
<USP>

7.3 陦檎オらォッ蟄� (Line Terminators)

遨コ逋ス譁�ュ励�繧医≧縺ォ縲∬。檎オらォッ蟄舌�繧ス繝シ繧ケ繝�く繧ケ繝医�蜿ッ隱ュ諤ァ繧貞髄荳翫&縺帙€√◎縺励※繝医�繧ッ繝ウ (荳榊庄蛻��蟄怜唱蜊倅ス�) 繧剃コ偵>縺ォ蛻�屬縺輔○繧九◆繧√↓菴ソ逕ィ縺輔l繧九€ゅ@縺九@縲∫ゥコ逋ス譁�ュ励→縺ッ驕輔>縲∬。檎オらォッ蟄舌�讒区枚逧�枚豕輔�謖ッ繧玖�縺�↓蠖ア髻ソ繧剃ク弱∴繧九€ゆク€闊ャ縺ォ縲∬。檎オらォッ蟄舌� 2 縺ョ繝医�繧ッ繝ウ縺ョ髢薙↓蜃コ迴セ縺吶k縲ゅ□縺梧ァ区枚逧�枚豕輔↓繧医▲縺ヲ髫�縺輔l繧句�エ謇€縺後≠繧九€り。檎オらォッ蟄舌�繝医�繧ッ繝ウ縺ョ荳ュ縺ォ蜃コ迴セ縺吶k縺薙→縺ッ蜃コ譚・縺ェ縺�€� not even a string. 陦檎オらォッ蟄舌�閾ェ蜍輔そ繝溘さ繝ュ繝ウ謖ソ蜈・縺ョ蜃ヲ逅�↓繧ょスア髻ソ繧剃ク弱∴繧� (繧サ繧ッ繧キ繝ァ繝ウ 7.9)縲�

遨コ逋ス縺ッ 2 縺、縺ョ繝医�繧ッ繝ウ縺ョ髢薙€√∪縺滓枚蟄怜�縺ョ荳ュ縺ォ蜃コ迴セ縺ァ縺阪k(繝ェ繝�Λ繝ォ譁�ュ怜�蛟、縺ョ荳€驛ィ繧貞ス「謌舌☆繧区э蜻ウ縺ョ縺ゅk譁�ュ励→閠�∴繧峨l繧�)縲ゅ□縺後€√ヨ繝シ繧ッ繝ウ縺ョ荳ュ縺ォ蜃コ迴セ縺吶k縺薙→縺ッ蜃コ譚・縺ェ縺�€�

谺。縺ョ譁�ュ励′陦檎オらォッ蟄舌→閠�∴繧峨l繧�:

Code Point Value Name Formal Name
\u000A Line Feed <LF>
\u000D Carriage Return <CR>
\u2028 Line separator <LS>
\u2029 Paragraph separator <PS>
Syntax
LineTerminator ::
<LF>
<CR>
<LS>
<PS>

7.4 繧ウ繝。繝ウ繝� (Comments)

Description

繧ウ繝。繝ウ繝医�縲� 1 陦後∪縺溘�隍�焚陦後↓縺ェ繧翫≧繧九€り、�焚陦後�繧ウ繝。繝ウ繝医�繝阪せ繝医〒縺阪↑縺�€�

1 陦後さ繝。繝ウ繝医� LineTerminator 莉・螟悶�莉サ諢上�譁�ュ励r蜷ォ繧€縺薙→縺悟庄閭ス縺ァ縺ゅk縺薙→縲√∪縺溘ヨ繝シ繧ッ繝ウ縺ッ蟶ク縺ォ蜿ッ閭ス縺ェ髟キ縺輔〒縺ゅk荳€闊ャ隕丞援縺ォ繧医j縲� 1 陦後さ繝。繝ウ繝医�蟶ク縺ォ縲√�繝シ繧ォ繝シ // 縺九i縺昴�陦後�邨ゅo繧翫∪縺ァ縺ョ蜈ィ縺ヲ縺ョ譁�ュ励〒讒区�縺輔l繧九€ゅ@縺九@縲∬。梧忰縺ョ LineTerminator 縺ッ 1 陦後さ繝。繝ウ繝医�蜀�ョケ縺ィ縺ッ縺ソ縺ェ縺輔l縺ェ縺�; 縺昴l縺ッ蟄怜唱譁�ウ輔↓繧医▲縺ヲ蛻・縲�↓隱崎ュ倥&繧後€∵ァ区枚譁�ウ輔�蜈・蜉幄ヲ∫エ�縺ョ繧ケ繝医Μ繝シ繝�縺ョ荳€驛ィ縺ィ縺ェ繧九€ゅ%縺ョ轤ケ縺後→縺ヲ繧る㍾隕√〒縺ゅk縲ゅ→縺�≧縺ョ縺ッ縲√%繧後� 1 陦後さ繝。繝ウ繝医�譛臥┌縺瑚�蜍輔そ繝溘さ繝ュ繝ウ謖ソ蜈・ (繧サ繧ッ繧キ繝ァ繝ウ 7.9) 縺ォ蠖ア髻ソ繧剃ク弱∴縺ェ縺�→縺�≧縺薙→繧呈囓縺ォ諢丞袖縺吶k縺九i縺ァ縺ゅk縲�

繧ウ繝。繝ウ繝医�遨コ逋ス縺ョ繧医≧縺ォ謖ッ繧玖�縺�€∵昏縺ヲ繧峨l繧九′縲� MultiLineComment 縺瑚。檎オらォッ蟄先枚蟄励r蜷ォ繧€蝣エ蜷医€∵ァ区枚譁�ウ輔↓繧医k隗」譫舌r逶ョ逧�→縺励※繧ウ繝。繝ウ繝亥�菴薙′ LineTerminator 縺ィ閠�∴繧峨l繧九€�

Syntax
Comment ::
MultiLineComment
SingleLineComment
MultiLineComment ::
/* MultiLineCommentCharsopt */
MultiLineCommentChars ::
MultiLineNotAsteriskChar MultiLineCommentCharsopt
* PostAsteriskCommentCharsopt
PostAsteriskCommentChars ::
MultiLineNotForwardSlashOrAsteriskChar MultiLineCommentCharsopt
* PostAsteriskCommentCharsopt
MultiLineNotAsteriskChar ::
SourceCharacter but not asterisk *
MultiLineNotForwardSlashOrAsteriskChar ::
SourceCharacter but not forward-slash / or asterisk *
SingleLineComment ::
// SingleLineCommentCharsopt
SingleLineCommentChars ::
SingleLineCommentChar SingleLineCommentCharsopt
SingleLineCommentChar ::
SourceCharacter but not LineTerminator

7.5 繝医�繧ッ繝ウ (Tokens)

7.5.1 莠育エ�ェ� (Reserved Words)

Description

莠育エ�ェ槭r隴伜挨蟄舌→縺励※菴ソ縺�%縺ィ縺ッ縺ァ縺阪↑縺�€�

Syntax
ReservedWord ::
Keyword
FutureReservedWord
NullLiteral
BooleanLiteral

7.5.2 繧ュ繝シ繝ッ繝シ繝� (Keywords)

谺。縺ョ繝医�繧ッ繝ウ縺ッ ECMAScript 繧ュ繝シ繝ッ繝シ繝峨〒縺ゅj縲� ECMAScript 繝励Ο繧ー繝ゥ繝�荳ュ縺ァ隴伜挨蟄舌↓菴ソ縺�%縺ィ縺ッ縺ァ縺阪↑縺�€�

Syntax
Keyword :: one of
break
case
catch
continue
default
delete
do
else
finally
for
function
if
in
instanceof
new
return
switch
this
throw
try
typeof
var
void
while
with

7.5.3 蟆�擂縺ョ莠育エ�ェ� (Future Reserved Words)

谺。縺ョ隱槭�謠仙�縺輔l縺滓僑蠑オ縺ョ荳ュ縺ァ繧ュ繝シ繝ッ繝シ繝峨→縺励※菴ソ逕ィ縺輔l縲√◎縺ョ諡。蠑オ縺悟ー�擂謗。謚槭&繧後k蜿ッ閭ス諤ァ繧定€�∴縲∽コ育エ�&繧後k縲�

Syntax
FutureReservedWord :: one of
abstract
boolean
byte
char
class
const
debugger
double
enum
export
extends
final
float
goto
implements
import
int
interface
long
native
package
private
protected
public
short
static
super
synchronized
throws
transient
volatile

7.6 隴伜挨蟄� (Identifiers)

Description

隴伜挨蟄舌�縲∬凶蟷イ縺ョ菫ョ豁」繧貞刈縺医◆ Unicode 讓呎コ� (繝舌�繧ク繝ァ繝ウ 3.0 縺ョ繧サ繧ッ繧キ繝ァ繝ウ 5.16) 縺ァ荳弱∴繧峨l繧区枚豕輔↓蠕薙>隗」驥医&繧後k縲よ枚豕輔� Unicode 讓呎コ悶↓繧医j謖�ョ壹&繧後k譁�ュ励き繝�ざ繝ェ縺ョ隕冗ッ�€∝所縺ウ蜿り€�ュ蝣ア縺ョ荳。譁ケ縺ォ蝓コ縺・縺�※縺�k縲� Unicode 讓呎コ悶�繝舌�繧ク繝ァ繝ウ 2.1 縺ォ謖�ョ壹&繧後k繧ォ繝�ざ繝ェ縺ョ譁�ュ励�縲∝�縺ヲ縺ョ驕ゥ蜷� ECMAScript 螳溯」�↓繧医▲縺ヲ縺昴l繧峨�繧ォ繝�ざ繝ェ蜀�→縺励※謇ア繧上l縺ェ縺代l縺ー縺ェ繧峨↑縺�; 縺励°縺励↑縺後i縲�←蜷� ECMAScript 螳溯」��縲� Unicode 縺ョ蠕後�繝舌�繧ク繝ァ繝ウ縺ァ縺ョ繧ォ繝�ざ繝ェ蜑イ繧雁ス薙※縺ォ蝓コ縺・縺剰ソス蜉�縺ョ蜷域ウ慕噪縺ェ隴伜挨蟄先枚蟄励r險ア蜿ッ縺励※繧医>縲�

縺薙�讓呎コ悶� Unicode 讓呎コ悶↓荳弱∴繧峨l繧区枚豕輔°繧峨≠繧句、画峩繧呈欠螳壹☆繧�; 繝峨Ν險伜捷($) 蜿翫�繧「繝ウ繝€繝シ繧ケ繧ウ繧「 (_) 縺ッ隴伜挨蟄蝉クュ縺ョ縺ゥ縺薙〒繧りィア縺輔l繧九€ゅラ繝ォ險伜捷縺ッ讖滓「ー逧�↓逕滓�縺輔l繧九さ繝シ繝我クュ縺ョ縺ソ縺ョ菴ソ逕ィ繧呈э蝗ウ縺輔l繧九€�

Unicode 繧ィ繧ケ繧ア繝シ繝励す繝シ繧ア繝ウ繧ケ縺ッ隴伜挨蟄蝉クュ縺ァ繧りィア縺輔l縲√◎繧後� UnicodeEscapeSequence (繧サ繧ッ繧キ繝ァ繝ウ 7.8.4) 縺ョ CV 縺ォ繧医j邂怜�縺輔l繧九h縺�↓縲∬ュ伜挨蟄蝉クュ縺ョ縺昴�蝣エ謇€縺ォ荳€譁�ュ励r蟇�ク弱☆繧九€� UnicodeEscapeSequence 繧剃スソ縺」縺ヲ隴伜挨蟄舌↓荳肴ュ」縺ェ譁�ュ励r險ュ螳壹☆繧九%縺ィ縺ッ縺ァ縺阪↑縺�€りィ€縺�鋤縺医l縺ー縲― UnicodeEscapeSequence 繧キ繝シ繧ア繝ウ繧ケ縺� UnicodeEscapeSequence 縺ョ CV 縺ォ鄂ョ謠帙&繧後◆繧峨€∫オ先棡縺ッ萓晉┯縺ィ縺励※譛牙柑縺ェ隴伜挨蟄舌〒縲∵ュ」遒コ縺ォ蜈�� Identifier 縺ィ譁�ュ励�蜷後§繧キ繝シ繧ア繝ウ繧ケ縺ェ縺代l縺ー縺ェ繧峨↑縺�€�

Unicode 讓呎コ悶↓蠕薙>隕乗コ也噪縺ォ遲我セ。縺ァ縺ゅk 2 縺、縺ョ隴伜挨蟄舌�縲√さ繝シ繝峨�繧、繝ウ繝医�蜴ウ蟇�↓蜷後§繧キ繝シ繧ア繝ウ繧ケ縺ォ繧医▲縺ヲ陦ィ縺輔l縺ェ縺�剞繧翫�遲峨@縺上↑縺�(險€縺�鋤縺医l縺ー縲�←蜷� ECMAScript 螳溯」��縲∬ュ伜挨蟄蝉ク翫〒繝薙ャ繝域ッ碑シ�r陦後≧縺薙→縺ョ縺ソ繧定ヲ∵アゅ&繧後k)縲ょ�縺」縺ヲ縺上k繧ス繝シ繧ケ繝�く繧ケ繝医′繧ウ繝ウ繝代う繝ゥ縺ォ陦後¥蜑阪↓豁」隕丞喧蠖「蠑� C 縺ォ螟画鋤縺輔l繧九%縺ィ繧呈э蝗ウ縺吶k縲�

Syntax
Identifier ::
ReservedWord 縺ァ縺ェ縺� IdentifierName
IdentifierName ::
IdentifierStart
IdentifierName IdentifierPart
IdentifierStart ::
UnicodeLetter
$
_
\ UnicodeEscapeSequence
IdentifierPart ::
IdentifierStart
UnicodeCombiningMark
UnicodeDigit
UnicodeConnectorPunctuation
\ UnicodeEscapeSequence
UnicodeLetter
Unicode 繧ォ繝�ざ繝ェ "Uppercase letter (Lu)", "Lowercase letter (Ll)", "Titlecase letter (Lt)", "Modifier letter (Lm)", "Other letter (Lo)", "Letter number (Nl)" 蜀��莉サ諢上�譁�ュ�
UnicodeCombiningMark
Unicode 繧ォ繝�ざ繝ェ "Non-spacing mark (Mn)" 縺セ縺溘� "Combining spacing mark (Mc)" 蜀��莉サ諢上�譁�ュ�
UnicodeDigit
Unicode 繧ォ繝�ざ繝ェ "Decimal number (Nd)" 蜀��莉サ諢上�譁�ュ�
UnicodeConnectorPunctuation
Unicode 繧ォ繝�ざ繝ェ "Connector punctuation (Pc)" 蜀��莉サ諢上�譁�ュ�
UnicodeEscapeSequence
繧サ繧ッ繧キ繝ァ繝ウ 7.8.4 繧貞盾辣ァ縲�
HexDigit :: one of
0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F

7.7 蛹コ蛻�j蟄� (Punctuators)

Syntax
Punctuator :: one of
{ } ( ) [ ] . ; , < > <= >= == != === !== + - * % ++ -- << >> >>> & | ^ ! ~ && || ? : = += -= *= %= <<= >>= >>>= &= |= ^=
DivPunctuator :: one of
/ /=

7.8 繝ェ繝�Λ繝ォ (Literals)

7.8.1 Null 繝ェ繝�Λ繝ォ (Null Literals)

Syntax
NullLiteral ::
null
Semantics

null 繝ェ繝�Λ繝ォ縺ョ蛟、 null 縺ッ縲∝腰迢ャ縺ョ Null 蝙九�蛟、縺ァ null 縺ィ蜻シ縺ー繧後k縲�

7.8.2 Boolean 繝ェ繝�Λ繝ォ (Boolean Literals)

Syntax
BooleanLiteral ::
true
false
Semantics

Boolean 繝ェ繝�Λ繝ォ縺ョ蛟、 true 縺ッ縲� Boolean 蝙九�蛟、縺ァ true 縺ィ蜻シ縺ー繧後k縲�

Boolean 繝ェ繝�Λ繝ォ縺ョ蛟、 false 縺ッ縲。oolean 蝙九�蛟、縺ァ false 縺ィ蜻シ縺ー繧後k縲�

7.8.3 謨ー蛟、繝ェ繝�Λ繝ォ (Numeric Literals)

Syntax
NumericLiteral ::
DecimalLiteral
HexIntegerLiteral
DecimalLiteral ::
DecimalIntegerLiteral . DecimalDigitsopt ExponentPartopt
. DecimalDigits ExponentPartopt
DecimalIntegerLiteral ExponentPartopt
DecimalIntegerLiteral ::
0
NonZeroDigit DecimalDigitsopt
DecimalDigits ::
DecimalDigit
DecimalDigits DecimalDigit
DecimalDigit :: one of
0 1 2 3 4 5 6 7 8 9
NonZeroDigit :: one of
1 2 3 4 5 6 7 8 9
ExponentPart ::
ExponentIndicator SignedInteger
ExponentIndicator :: one of
e E
SignedInteger ::
DecimalDigits
+ DecimalDigits
- DecimalDigits
HexIntegerLiteral ::
0x HexDigit
0X HexDigit
HexIntegerLiteral HexDigit

NumericLiteral 縺ォ逶エ謗・邯壹¥繧ス繝シ繧ケ譁�ュ励�縲√¢縺励※ IdentifierStart 繧� DecimalDegit 縺ァ縺ッ縺ェ縺�€�

NOTE 萓九∴縺ー:

3in

縺ッ繧ィ繝ゥ繝シ縺ァ縺ゅj縲� 3 縺ィ in 縺ョ 2 縺、縺ョ蜈・蜉幄ヲ∫エ�縺ィ縺ッ縺ェ繧峨↑縺�€�

Semantics

謨ー蛟、繝ェ繝�Λ繝ォ縺ッ縲� Number 蝙九�蛟、繧定。ィ縺吶€ゅ%縺ョ蛟、縺ッ 2 繧ケ繝�ャ繝励〒蛻、譁ュ縺輔l繧�: 縺セ縺壹€∵焚蟄ヲ蛟、 (MV) 縺後Μ繝�Λ繝ォ縺九i豢セ逕溘☆繧�; 谺。縺ォ縲√%縺ョ謨ー蟄ヲ蛟、縺後€∽ク九↓霑ー縺ケ繧九h縺�↓荳ク繧√i繧後k縲�

荳€譌ヲ謨ー蛟、繝ェ繝�Λ繝ォ縺ョ蜴ウ蟇�↑謨ー蟄ヲ蛟、縺梧アコ螳壹&繧後◆繧峨€� Number 蝙九�蛟、縺ォ荳ク繧√i繧後k縲よ焚蟄ヲ蛟、縺� 0 縺ェ繧峨�縲∽クク繧√i繧後k蛟、縺ッ +0 縺ァ縺ゅk; 縺昴≧縺ァ縺ッ縺ェ縺上€√Μ繝�Λ繝ォ縺� DecimalLiteral 縺ァ縺ェ縺上◎縺ョ繝ェ繝�Λ繝ォ縺� 20 繧定カ�∴繧区怏蜉ケ謨ー蟄玲焚\縺ァ縺ェ縺代l縺ー縲∵焚蛟、縺� 20 逡ェ逶ョ莉・髯阪�蜷�怏蜉ケ謨ー蟄励r謨ー蟄� 0 縺ク鄂ョ謠帙@縺ヲ逕滓�縺輔l繧九Μ繝�Λ繝ォ縺ョ謨ー蟄ヲ蛟、縺ョ謨ー蛟、縲√∪縺溘� 20 逡ェ逶ョ莉・髯阪�蜷�怏蜉ケ謨ー蟄励r謨ー蟄� 0 縺ォ鄂ョ謠帙@縺ヲ逕滓�縺輔l繧九Μ繝�Λ繝ォ縺ョ謨ー蟄ヲ蛟、縺ョ謨ー蛟、縲√◎縺励※ 20 逡ェ逶ョ縺ョ譛牙柑謨ー蟄励�菴咲スョ縺ョ繝ェ繝�Λ繝ォ縺ョ蠅怜刈縲√�縺�★繧後°縺ァ縺ゅj縺医k蝣エ蜷医€∽クク繧√i繧後k蛟、縺ッ (繧サ繧ッ繧キ繝ァ繝ウ 8.5 縺ァ螳夂セゥ縺輔l繧区э蜻ウ縺ョ) 謨ー蟄ヲ蛟、縺ョ謨ー蛟、縺ァ縺ェ縺代l縺ー縺ェ繧峨↑縺�€よ焚蟄励�縺昴l縺� ExponentPart 縺ョ荳€驛ィ\縺ァ縺ェ縺乗ャ。縺ョ莠檎せ縺ョ縺ゥ縺。繧峨°縺ァ縺ゅl縺ー譛牙柑謨ー蟄� (significant) 縺ァ縺ゅk縲�

  • 0 縺ァ縺ェ縺�€�
  • 縺昴�蟾ヲ蛛エ縺� 0 莉・螟悶�謨ー蟄励〒縺昴�蜿ウ蛛エ縺� 0 莉・螟悶�謨ー蟄励〒 ExponentPart 蜀�〒縺ェ縺�€�

7.8.4 譁�ュ怜�繝ェ繝�Λ繝ォ (String Literals)

譁�ュ怜�繝ェ繝�Λ繝ォ縺ッ縲∝腰蠑慕畑隨ヲ縺セ縺溘�莠碁㍾蠑慕畑隨ヲ縺ァ蝗イ縺セ繧後◆ 0 蛟倶サ・荳翫�譁�ュ励〒縺ゅk縲ょ推譁�ュ励�繧ィ繧ケ繧ア繝シ繝励す繝シ繧ア繝ウ繧ケ縺ォ繧医▲縺ヲ陦ィ縺輔l縺ヲ繧ゅh縺�€�

Syntax
StringLiteral ::
" DoubleStringCharactersopt "
' SingleStringCharactersopt '
DoubleStringCharacters ::
DoubleStringCharacter DoubleStringCharactersopt
SingleStringCharacters ::
SingleStringCharacter SingleStringCharactersopt
DoubleStringCharacter ::
SourceCharacter but not double-quote " or backslash \ or LineTerminator
\ EscapeSequence
SingleStringCharacter ::
SourceCharacter but not single-quote ' or backslash \ or LineTerminator
\ EscapeSequence
EscapeSequence ::
CharacterEscapeSequence
0 [lookahead ∉ DecimalDigit]
HexEscapeSequence
UnicodeEscapeSequence
CharacterEscapeSequence ::
SingleEscapeCharacter
NonEscapeCharacter
SingleEscapeCharacter :: one of
' " \ b f n r t v
NonEscapeCharacter ::
SourceCharacter but not EscapeCharacter or LineTerminator
EscapeCharacter ::
SingleEscapeCharacter
DecimalDigit
x
u
HexEscapeSequence ::
x HexDigit HexDigit
UnicodeEscapeSequence ::
u HexDigit HexDigit HexDigit HexDigit

髱樒オらォッ險伜捷 HexDigit 縺ョ螳夂セゥ縺ッ縲�繧サ繧ッ繧キ繝ァ繝ウ 7.8.3 縺ォ荳弱∴繧九€� SourceCharacter 縺ッ繧サ繧ッ繧キ繝ァ繝ウ 2 蜿翫� 6 縺ァ霑ー縺ケ繧九€�

譁�ュ怜�繝ェ繝�Λ繝ォ縺ッ String 蝙九�蛟、繧定。ィ縺吶€ゅΜ繝�Λ繝ォ縺ョ譁�ュ怜�蛟、 (SV) 縺ッ縲∵枚蟄怜�蛟、縺ョ讒倥€�↑驛ィ蛻�↓蟇�ク弱☆繧区枚蟄怜€、 (CV) 縺ォ髢「縺励※險倩ソー縺輔l繧九€ゅ%縺ョ蜃ヲ逅��荳€驛ィ縺ィ縺励※縲∵枚蟄怜�繝ェ繝�Λ繝ォ蜀�Κ縺ョ縺�¥縺、縺九�譁�ュ励�縲�繧サ繧ッ繧キ繝ァ繝ウ 7.8.3 縺ォ霑ー縺ケ繧区焚蟄ヲ蛟、 (MV) 繧呈戟縺、繧ゅ�縺ィ縺励※隗」驥医&繧後k縲�

Escape Sequence Code Point Value Name Symbol
\b \u0008 backspace <BS>
\t \u0009 horizontal tab <HT>
\n \u000A line feed (new line) <LF>
\v \u000B vertical tab <VT>
\f \u000C form feed <FF>
\r \u000D carriage return <CR>
\" \u0022 double quote "
\' \u0027 single quote '
\\ \u005C backslash \
  • CharacterEscapeSequence :: NonEscapeCharacter 縺ョ譁�ュ怜€、縺ッ縲� NonEscapeCharacter 縺ョ譁�ュ怜€、縺ァ縺ゅk縲�
  • NonEscapeCharacter :: SourceCharacter but not EscapeCharacter or LineTerminator 縺ョ譁�ュ怜€、縺ッ縲� SourceCharacter 譁�ュ励◎繧瑚�霄ォ縺ァ縺ゅk縲�
  • HexEscapeSequence :: x HexDigit HexDigit 縺ョ譁�ュ怜€、縺ッ縲√さ繝シ繝峨�繧、繝ウ繝亥€、縺� (16 テ� 譛€蛻昴� HexDigit 縺ョ謨ー蟄ヲ蛟、) �� 2逡ェ逶ョ縺ョ HexDigit 縺ョ謨ー蟄ヲ蛟、 縺ァ縺ゅk譁�ュ励〒縺ゅk縲�
  • UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit 縺ョ譁�ュ怜€、縺ッ縲√さ繝シ繝峨�繧、繝ウ繝亥€、縺� (4096 (縺吶↑繧上■ 163) テ� 譛€蛻昴� HexDigit 縺ョ謨ー蟄ヲ蛟、) �� (256 (縺吶↑繧上■ 162) テ� 2 逡ェ逶ョ縺ョ HexDigit 縺ョ謨ー蟄ヲ蛟、) �� (16 テ� 3 逡ェ逶ョ縺ョ HexDigit 縺ョ謨ー蟄ヲ蛟、) �� 4 逡ェ逶ョ縺ョ HexDigit 縺ョ謨ー蟄ヲ蛟、 縺ァ縺ゅk譁�ュ励〒縺ゅk縲�

NOTE 譁�ュ� LineTerminator 縺ッ縲√◎繧後↓繝舌ャ繧ッ繧ケ繝ゥ繝�す繝・ \ 繧貞�陦後&縺帙※繧ゅ€∵枚蟄怜�繝ェ繝�Λ繝ォ蜀�↓縺ッ蜃コ迴セ縺ァ縺阪↑縺�€� 陦檎オらォッ蟄先枚蟄励r譁�ュ怜�繝ェ繝�Λ繝ォ縺ョ譁�ュ怜�蝨ー縺ョ荳€驛ィ縺ォ鄂ョ縺丞ヲ・蠖薙↑譁ケ豕輔�縲� \n 繧� \u000A 縺ョ繧医≧縺ェ繧ィ繧ケ繧ア繝シ繝励す繝シ繧ア繝ウ繧ケ繧堤畑縺�k縺薙→縺ァ縺ゅk縲�

7.8.5 豁」隕剰。ィ迴セ繝ェ繝�Λ繝ォ (Regular Expression Literals)

豁」隕剰。ィ迴セ繝ェ繝�Λ繝ォ縺ッ襍ー譟サ譎ゅ↓ RegExp 繧ェ繝悶ず繧ァ繧ッ繝� (繧サ繧ッ繧キ繝ァ繝ウ 15.10) 縺ォ螟画鋤縺輔l繧句�蜉幄ヲ∫エ�縺ァ縺ゅk縲ゅが繝悶ず繧ァ繧ッ繝医�縺昴l繧貞性繧€繝励Ο繧ー繝ゥ繝�縺セ縺滄未謨ー縺ョ隧穂セ。縺ョ髢句ァ句燕縺ォ逕滓�縺輔l繧九€ゅΜ繝�Λ繝ォ隧穂セ。縺ッ縺昴�繧ェ繝悶ず繧ァ繧ッ繝医∈縺ョ蜿ら�繧堤函謌舌☆繧�; 縺昴l縺ッ譁ー隕上が繝悶ず繧ァ繧ッ繝育函謌舌�縺励↑縺�€ゅ�繝ュ繧ー繝ゥ繝�蜀�� 2 縺、縺ョ豁」隕剰。ィ迴セ繝ェ繝�Λ繝ォ縺ッ縲�2 縺、縺ョ繝ェ繝�Λ繝ォ縺ョ蜀�ョケ縺後∪縺」縺溘¥蜷後§縺ァ縺ゅ▲縺ヲ繧ゅ€∽コ偵>縺ォ === 縺ィ縺励※豈碑シ�@縺ェ縺�ュ」隕剰。ィ迴セ繧ェ繝悶ず繧ァ繧ッ繝医↓隧穂セ。縺吶k縲� RegExp 繧ェ繝悶ず繧ァ繧ッ繝医�縲� new RegExp (繧サ繧ッ繧キ繝ァ繝ウ 15.10.4) 繧�未謨ー縺ィ縺励※縺ョ RegExp 繧ウ繝ウ繧ケ繝医Λ繧ッ繧ソ蜻シ蜃コ縺� (繧サ繧ッ繧キ繝ァ繝ウ 15.10.3) 縺ォ繧医▲縺ヲ螳溯。梧凾縺ォ逕滓�縺輔l縺ヲ繧ゅh縺�€�

荳九�逕滓�隕丞援縺ッ豁」隕剰。ィ迴セ繝ェ繝�Λ繝ォ縺ョ讒区枚繧定ィ倩ソー縺励€∵ュ」隕剰。ィ迴セ繝ェ繝�Λ繝ォ縺ョ邨ゆコ��讀懷�縺ォ蜈・蜉幄ヲ∫エ�襍ー譟サ縺九i菴ソ逕ィ縺輔l繧九€� RegularExpressionBody 蜿翫� RegularExpressionFlags 繧呈ァ区�縺吶k譁�ュ励�譁�ュ怜�縺ッ縲√◎繧瑚�霄ォ縺後h繧雁宍驥阪↑譁�ウ輔〒縺昴l繧峨r隗」驥医☆繧区ュ」隕剰。ィ迴セ繧ウ繝ウ繧ケ繝医Λ繧ッ繧ソ縺ォ縲∵悴隗」驥医〒貂。縺輔l繧九€ょョ溯」��豁」隕剰。ィ迴セ繧ウ繝ウ繧ケ繝医Λ繧ッ繧ソ縺ョ譁�ウ輔r諡。蠑オ縺励※繧医>縺後€� RegularExpressionBody 蜿翫� RegularExpressionFlags 逕滓�隕丞援縲√∪縺溘�縺薙l繧峨�逕滓�隕丞援縺ォ繧医▲縺ヲ菴ソ逕ィ縺輔l繧狗函謌占ヲ丞援繧呈僑蠑オ縺吶∋縺阪〒縺ッ縺ェ縺�€�

Syntax
RegularExpressionLiteral ::
/ RegularExpressionBody / RegularExpressionFlags
RegularExpressionBody ::
RegularExpressionFirstChar RegularExpressionChars
RegularExpressionChars ::
[empty]
RegularExpressionChars RegularExpressionChar
RegularExpressionFirstChar ::
NonTerminator but not * or \ or /
BackslashSequence
RegularExpressionChar ::
NonTerminator but not \ or /
BackslashSequence
BackslashSequence ::
\ NonTerminator
NonTerminator ::
SourceCharacter but not LineTerminator
RegularExpressionFlags ::
[empty]
RegularExpressionFlags IdentifierPart

NOTE 豁」隕剰。ィ迴セ繝ェ繝�Λ繝ォ縺ッ遨コ縺ォ縺ッ縺ェ繧峨↑縺�; 遨コ縺ョ豁」隕剰。ィ迴セ繝ェ繝�Λ繝ォ繧偵≠繧峨o縺吩サ」繧上j縺ォ縲∵枚蟄� // 縺ッ 1 陦後さ繝。繝ウ繝医r髢句ァ九☆繧九€らゥコ縺ョ豁」隕剰。ィ迴セ繧呈欠螳壹☆繧九↓縺ッ縲� /(?:)/ 繧堤畑縺�k縲�

Semantics

豁」隕剰。ィ迴セ繝ェ繝�Λ繝ォ縺ッ Object 蝙九�蛟、繧定。ィ縺吶€ゅ%縺ョ蛟、縺ッ 2 繧ケ繝�ャ繝励〒豎コ螳壹&繧後k: 縺セ縺壹€∵ュ」隕剰。ィ迴セ縺ョ RegularExpressionBody 蜿翫� RegularExpressionFlags 逕滓�隕丞援諡。蠑オ繧呈ァ区�縺吶k譁�ュ励′縲√◎繧後◇繧� 2 縺、縺ョ譁�ュ怜�縺ョ Pattern 縺ィ Flags 縺ォ隗」譫舌&繧後★縺ォ髮�a繧峨l繧九€ゅ◎縺励※ new RegExp 繧ウ繝ウ繧ケ繝医Λ繧ッ繧ソ縺� 2 縺、縺ョ蠑墓焚 Pattern 縺ィ Flags 縺ァ蜻シ蜃コ縺輔l縲∫オ先棡縺ッ RegularExpressionLiteral 縺ョ蛟、縺ィ縺ェ繧九€� new RegExp 蜻シ蜃コ縺励′繧ィ繝ゥ繝シ繧堤函謌舌☆繧九↑繧峨�縲∝ョ溯」��縲∬�逕ア陬�㍼縺ァ縲√�繝ュ繧ー繝ゥ繝�襍ー譟サ荳ュ縺ォ逶エ縺。縺ォ繧ィ繝ゥ繝シ蝣ア蜻翫@縺ヲ繧ゅh縺�@縲√�繝ュ繧ー繝ゥ繝�螳溯。御クュ縺ォ豁」隕剰。ィ迴セ繝ェ繝�Λ繝ォ縺瑚ゥ穂セ。縺輔l繧九∪縺ァ繧ィ繝ゥ繝シ繧貞サカ譛溘@縺ヲ繧ゅh縺�€�

7.9 閾ェ蜍輔そ繝溘さ繝ュ繝ウ謖ソ蜈・ (Automatic Semicolon Insertion)

縺ゅk遞ョ縺ョ ECMAScript 譁� (遨コ譁� (empty statement), 螟画焚譁� (variable statement), 蠑乗枚 (expression statement), do-while 譁� (do-while statement), continue 譁� (continue statement), break 譁� (break statement), return 譁� (return statement), turhow 譁� (throw statement)) 縺ッ繧サ繝溘さ繝ュ繝ウ縺ァ邨ゆコ�@縺ェ縺代l縺ー縺ェ繧峨↑縺�€ゅ◎縺ョ繧医≧縺ェ繧サ繝溘さ繝ュ繝ウ縺ッ縲√た繝シ繧ケ繝�く繧ケ繝亥�縺ォ蟶ク縺ォ譏守、コ逧�↓蜃コ迴セ縺励※繧医>縲ゅ@縺九@縺ェ縺後i縲∫ー。蜊倥↓縺吶k縺溘a縺ォ縲√≠繧倶ス咲スョ縺ァ縺ッ繧ス繝シ繧ケ繝�く繧ケ繝医°繧峨そ繝溘さ繝ュ繝ウ繧堤怐逡・縺励※繧医>縲ゅ%縺ョ菴咲スョ縺ッ縲√◎繧後i縺ョ菴咲スョ縺ョ繧ス繝シ繧ケ繧ウ繝シ繝峨ヨ繝シ繧ッ繝ウ縺ョ繧ケ繝医Μ繝シ繝�縺ォ繧サ繝溘さ繝ュ繝ウ縺瑚�蜍慕噪縺ォ謖ソ蜈・縺輔l繧九→縺�≧險€闡峨〒隱ャ譏弱&繧後k縲�

7.9.1 閾ェ蜍輔そ繝溘さ繝ュ繝ウ謖ソ蜈・隕丞援 (Rules of Automatic Semicolon Insertion)

  • 繝励Ο繧ー繝ゥ繝�縺悟キヲ縺九i蜿ウ縺ク縺ィ隗」譫舌&繧後€∵枚豕輔�莉サ諢上�逕滓�隕丞援縺ォ繧医▲縺ヲ險ア蜿ッ縺輔l縺ェ縺�ヨ繝シ繧ッ繝ウ (驕募渚繝医�繧ッ繝ウ (offending token) 縺ィ蜻シ縺ー繧後k) 縺ォ驕ュ驕�☆繧九→縺阪€∵ャ。縺ョ譚。莉カ縺ォ 1 縺、莉・荳雁ス薙※縺ッ縺セ繧句�エ蜷医€�&蜿阪ヨ繝シ繧ッ繝ウ縺ョ蜑阪↓繧サ繝溘さ繝ュ繝ウ縺瑚�蜍慕噪縺ォ謖ソ蜈・縺輔l繧九€�:
    1. 1. 驕募渚繝医�繧ッ繝ウ縺後€∝ー代↑縺上→繧� 1 縺、縺ョ LineTerminator 縺ァ縲∝燕縺ョ繝医�繧ッ繝ウ縺九i蛻�屬縺輔l縺ヲ縺�k縲�
    2. 2. 驕募渚繝医�繧ッ繝ウ縺後€� } 縺ァ縺ゅk縲�
  • 繝励Ο繧ー繝ゥ繝�縺悟キヲ縺九i蜿ウ縺ク縺ィ隗」譫舌&繧後€√ヨ繝シ繧ッ繝ウ縺ョ蜈・蜉帙せ繝医Μ繝シ繝�縺檎オゆコ�@縲∬ァ」譫仙勣縺悟�蜉帙ヨ繝シ繧ッ繝ウ繧ケ繝医Μ繝シ繝�繧剃ク€縺、縺ョ螳悟�縺ェ ECMAScript Program 縺ィ縺励※隗」譫舌〒縺阪↑縺�→縺阪€∝�蜉帙せ繝医Μ繝シ繝�縺ョ譛ォ蟆セ縺ォ繧サ繝溘さ繝ュ繝ウ縺瑚�蜍慕噪縺ォ謖ソ蜈・縺輔l繧九€�
  • 繝励Ο繧ー繝ゥ繝�縺悟キヲ縺九i蜿ウ縺ク縺ィ隗」譫舌&繧後€∵枚豕輔�莉サ諢上�逕滓�隕丞援縺ォ繧医▲縺ヲ險ア蜿ッ縺輔l縺ェ縺�ヨ繝シ繧ッ繝ウ縺ォ驕ュ驕�☆繧九′縲√◎縺ョ逕滓�隕丞援縺碁剞螳夂函謌占ヲ丞援 (resutricted production) 縺ァ縺ゅj縲�剞螳夂函謌占ヲ丞援蜀�Κ\縺ァ豕ィ險� "[no LineTerminator here]" 縺ォ縺吶$邯壹¥邨らォッ險伜捷縺セ縺溘�髱樒オらォッ險伜捷縺ョ譛€蛻昴�繝医�繧ッ繝ウ (縺昴�縺溘a縺薙�繧医≧縺ェ繝医�繧ッ繝ウ縺ッ髯仙ョ壹ヨ繝シ繧ッ繝ウ (restricted token) 縺ィ蜻シ縺ー繧後k) 縺ァ縺ゅj縲√◎縺励※髯仙ョ壹ヨ繝シ繧ッ繝ウ縺悟ー代↑縺上→繧� 1 縺、縺ョ LineTerminator 縺ァ蜑阪�繝医�繧ッ繝ウ縺九i蛻�屬縺輔l縺ヲ縺�k縺ィ縺阪€�剞螳壹ヨ繝シ繧ッ繝ウ縺ョ蜑阪↓繧サ繝溘さ繝ュ繝ウ縺瑚�蜍慕噪縺ォ謖ソ蜈・縺輔l繧九€�

縺ィ縺ッ縺�∴縲∽サ・荳翫�隕丞援繧剃ク頑嶌縺阪☆繧区擅莉カ繧定ソス蜉�縺吶k: 繧サ繝溘さ繝ュ繝ウ縺檎オ先棡縺ィ縺励※遨コ譁�→縺励※隗」譫舌&繧後k蝣エ蜷医€√∪縺溘そ繝溘さ繝ュ繝ウ縺� for 譁� (繧サ繧ッ繧キ繝ァ繝ウ 12.6.3) 縺ョ繝倥ャ繝€蜀�� 2 縺、縺ョ繧サ繝溘さ繝ュ繝ウ縺ョ荳€縺、縺ォ縺ェ繧句�エ蜷医�縲√そ繝溘さ繝ュ繝ウ縺ッ閾ェ蜍慕噪縺ォ謖ソ蜈・縺輔l縺ェ縺�€�

NOTE 譁�ウ輔↓縺翫¢繧矩剞螳夂函謌占ヲ丞援縺ッ荳玖ィ倥�縺ソ縺ァ縺ゅk:

PostfixExpression :
LeftHandSideExpression [LineTerminator 辟。縺余 ++
LeftHandSideExpression [LineTerminator 辟。縺余 --
ContinueStatement :
continue [LineTerminator 辟。縺余 Identifieropt ;
BreakStatement :
break [LineTerminator 辟。縺余 Identifieropt ;
ReturnStatement :
return [LineTerminator 辟。縺余 Expressionopt ;
ThrowStatement :
throw [LineTerminator 辟。縺余 Expression ;

縺薙l繧峨�髯仙ョ夂函謌占ヲ丞援縺ョ螳滄圀縺ョ蜉ケ譫懊�縲∵ャ。縺ョ縺ィ縺翫j縺ァ縺ゅk:

  • 隗」譫仙勣縺後◎繧後r蠕檎スョ貍皮ョ怜ュ舌→縺励※謇ア縺��エ謇€縺ォ ++, -- 繝医�繧ッ繝ウ縺悟�迴セ縺励€∝ー代↑縺上→繧ゆク€縺、莉・荳翫� LineTerminator 縺悟燕縺ョ繝医�繧ッ繝ウ縺ィ ++, -- 繝医�繧ッ繝ウ縺ョ髢薙↓蜃コ迴セ縺吶k縺ィ縺�, 繧サ繝溘さ繝ュ繝ウ縺� ++, -- 繝医�繧ッ繝ウ縺ョ蜑阪↓閾ェ蜍慕噪縺ォ謖ソ蜈・縺輔l繧九€�
  • continue, break, return, throw 繝医�繧ッ繝ウ縺悟�迴セ縺励€∵ャ。縺ョ繝医�繧ッ繝ウ縺ョ蜑阪↓ LineTerminator 縺悟�迴セ縺吶k縺ィ縺阪€√そ繝溘さ繝ュ繝ウ縺ッ continue, break, return, throw 繝医�繧ッ繝ウ縺ョ蠕後↓閾ェ蜍慕噪縺ォ謖ソ蜈・縺輔l繧九€�

ECMAScript 繝励Ο繧ー繝ゥ繝槭∈縺ョ邨先棡逧�↑螳溽畑逧�勧險€縺ッ:

  • 蠕檎スョ ++ 貍皮ョ怜ュ舌€√∪縺溷セ檎スョ -- 貍皮ョ怜ュ舌�縲���→蜷後§陦後↓蜃コ迴セ縺吶k縺ケ縺阪〒縺ゅk縲�
  • return 譁�€√∪縺� throw 譁�クュ縺ョ Expression 縺ッ縲〉eturn 繝医�繧ッ繝ウ縺セ縺� throw 繝医�繧ッ繝ウ縺ィ蜷後§陦後〒髢句ァ九☆繧九∋縺阪〒縺ゅk縲�
  • break 譁�€√∪縺� continue 譁��繝ゥ繝吶Ν縺ッ縲� break 繝医�繧ッ繝ウ縺セ縺� continue 繝医�繧ッ繝ウ縺ィ蜷後§陦後↓縺ゅk縺ケ縺阪〒縺ゅk縲�

7.9.2 閾ェ蜍輔そ繝溘さ繝ュ繝ウ謖ソ蜈・萓� (Examples of Automatic Semicolon Insertion)

谺。縺ョ繧ス繝シ繧ケ

{ 1 2 } 3

縺ッ縲・CMAScript 譁�ウ輔↓縺翫>縺ヲ縲∬�蜍輔そ繝溘さ繝ュ繝ウ謖ソ蜈・隕丞援繧剃サ・縺」縺ヲ縺励※繧よ怏蜉ケ縺ェ譁�〒縺ッ縺ェ縺�€�

蟇セ辣ァ逧�↓縲√%縺ョ繧ス繝シ繧ケ

{ 1
2 } 3

繧ゅ∪縺滓怏蜉ケ縺ェ ECMAScript 譁�〒縺ッ縺ェ縺�′縲∬�蜍輔そ繝溘さ繝ュ繝ウ謖ソ蜈・縺ォ繧医▲縺ヲ谺。縺ョ繧医≧縺ォ螟画鋤縺輔l繧�:

{ 1
;2 ;} 3;

縺薙l縺ッ譛牙柑縺ェ ECMAScript 譁�〒縺ゅk縲�

繧ス繝シ繧ケ

for (a; b
)

縺ッ譛牙柑縺ェ ECMAScript 譁�〒縺ッ縺ェ縺上€∬�蜍輔そ繝溘さ繝ュ繝ウ謖ソ蜈・縺ォ繧医▲縺ヲ螟画峩縺輔l縺ェ縺�€ゅそ繝溘さ繝ュ繝ウ縺� for 譁��繝倥ャ繝€縺ォ隕∵アゅ&繧後k縺九i縺ァ縺ゅk縲り�蜍輔そ繝溘さ繝ュ繝ウ謖ソ蜈・縺� for 譁��繝倥ャ繝€蜀�� 2 縺、縺ョ繧サ繝溘さ繝ュ繝ウ縺ョ 1 縺、繧呈諺蜈・縺吶k縺薙→縺ッ縺ェ縺�€�

繧ス繝シ繧ケ

return
a + b

縺ッ閾ェ蜍輔そ繝溘さ繝ュ繝ウ謖ソ蜈・縺ォ繧医▲縺ヲ谺。縺ョ繧医≧縺ォ螟画鋤縺輔l繧�:

return;
a + b;

NOTE 蠑� a + b 縺ッ縲� return 譁�↓繧医▲縺ヲ霑斐&繧後k蛟、縺ィ縺励※謇ア繧上l縺ェ縺�€Seturn 繝医�繧ッ繝ウ縺九i LineTerminator 縺ァ蛻�屬縺輔l縺ヲ縺�k縺九i縺ァ縺ゅk縲�

繧ス繝シ繧ケ

a = b
++c

縺ッ閾ェ蜍輔そ繝溘さ繝ュ繝ウ謖ソ蜈・縺ォ繧医▲縺ヲ谺。縺ョ繧医≧縺ォ螟画鋤縺輔l繧�:

a = b;
++c;

NOTE 繝医�繧ッ繝ウ ++ 縺ッ縲∝、画焚 b 縺ォ驕ゥ逕ィ縺輔l繧句セ檎スョ貍皮ョ怜ュ舌→縺励※謇ア繧上l縺ェ縺�€� b 縺ィ ++ 縺ョ髢薙↓ LineTerminator 縺後≠繧九°繧峨〒縺ゅk縲�

繧ス繝シ繧ケ

if (a > b)
else c = d

縺ッ譛牙柑縺ェ ECMAScript 譁�〒縺ッ縺ェ縺上€√◎縺ョ菴咲スョ縺ォ驕ゥ逕ィ縺吶k譁�ウ輔�逕滓�隕丞援縺後↑縺�→縺励※繧ゅ€� else 繝医�繧ッ繝ウ縺ョ蜑阪∈縺ョ閾ェ蜍輔そ繝溘さ繝ュ繝ウ謖ソ蜈・縺ォ繧医▲縺ヲ螟画峩縺輔l縺ェ縺�€り�蜍輔そ繝溘さ繝ュ繝ウ謖ソ蜈・縺檎ゥコ譁�→縺励※隗」譫舌&繧後k縺九i縺ァ縺ゅk縲�

繧ス繝シ繧ケ

a = b + c
(d + e).print()

縺ッ閾ェ蜍輔そ繝溘さ繝ュ繝ウ謖ソ蜈・縺ォ繧医▲縺ヲ螟画鋤縺輔l縺ェ縺�€� 2 陦檎岼縺ョ諡ャ蠑ァ蠑� () 縺ッ髢「謨ー蜻シ縺ウ蜃コ縺励�蠑墓焚繝ェ繧ケ繝医→縺励※隗」驥医〒縺阪k縺九i縺ァ縺ゅk縲�

a = b + c(d + e).print()

莉」蜈・譁�′蟾ヲ諡ャ蠑ァ縺ァ髢句ァ九@縺ェ縺代l縺ー縺ェ繧峨↑縺�憾豕√〒縺ッ縲∬�蜍輔そ繝溘さ繝ュ繝ウ謖ソ蜈・繧剃ソ。鬆シ縺吶k繧医j縲∝�陦後☆繧区枚縺ョ譛ォ蟆セ縺ォ譏守、コ逧�↑繧サ繝溘さ繝ュ繝ウ繧呈署萓帙☆繧区婿縺後€√�繝ュ繧ー繝ゥ繝槭↓縺ィ縺」縺ヲ繧医>逋コ諠ウ縺ァ縺ゅk縲�

Page Contents

Issued: / Revised: / All rights reserved. © 2002-2016 TAKI