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

5 險倩ソー豕輔↓縺、縺�※ (Notational Conventions)

5.1 讒区枚縺ィ蟄怜唱縺ョ譁�ウ� (Syntactic and Lexical Grammars)

縺薙�繧サ繧ッ繧キ繝ァ繝ウ縺ァ縺ッ縲√%縺ョ莉墓ァ倥〒 ECMAScript 繝励Ο繧ー繝ゥ繝�縺ョ蟄怜唱讒区枚讒矩€�縺ョ螳夂セゥ縺ォ逕ィ縺�i繧後k譁�ц閾ェ逕ア譁�ウ� (context-free grammers) 縺ォ縺、縺�※霑ー縺ケ繧九€�

5.1.1 譁�ц閾ェ逕ア譁�ウ� (Context-Free Grammars)

譁�ц閾ェ逕ア譁�ウ輔�縺溘¥縺輔s縺ョ逕滓�隕丞援 (production) 縺ォ繧医▲縺ヲ讒区�縺輔l繧九€ょ推逕滓�隕丞援縺ッ縺昴�蟾ヲ霎コ縺ォ髱樒オらォッ險伜捷 (nonterminal symbol) 縺ィ蜻シ縺ー繧後k謚ス雎。逧�ィ伜捷繧呈戟縺。縲∝承霎コ縺ォ 0 蛟倶サ・荳翫�髱樒オらォッ險伜捷縺ィ邨らォッ險伜捷 (terminal symbol) 縺ョ荳ヲ縺ウ繧呈戟縺、縲ょ推譁�ウ輔�縺溘a縺ォ縲∫オらォッ險伜捷縺ッ迚ケ螳壹�繧「繝ォ繝輔ぃ繝吶ャ繝医°蠑輔″蜃コ縺輔l繧九€�

逶ョ讓呵ィ伜捷 (goal symbol) 縺ィ蜻シ縺ー繧後k縲∝腰荳€縺ョ隴伜挨縺輔l繧矩撼邨らォッ險伜捷縺ァ讒区�縺輔l繧区枚縺九i蟋九∪繧翫€∽ク弱∴繧峨l繧区枚閼郁�逕ア譁�ウ輔�險€隱槭r隕丞ョ壹☆繧九€ゅ☆縺ェ繧上■縲∫オらォッ險伜捷縺ョ蜿ッ閭ス縺ェ繧キ繝シ繧ア繝ウ繧ケ縺ョ (縺翫◎繧峨¥辟。髯舌�) 髮�粋縺ァ縲√◎繧後�繧キ繝シ繧ア繝ウ繧ケ蜀�〒髱樒オらォッ險伜捷繧偵€�撼邨らォッ險伜捷縺悟キヲ霎コ縺ァ縺ゅk逕滓�隕丞援縺ョ蜿ウ霎コ縺ァ郢ー繧願ソ斐@鄂ョ謠帙☆繧九%縺ィ縺九i逕溘§繧九€�

5.1.2 蟄怜唱縺ィ豁」隕剰。ィ迴セ縺ョ譁�ウ� (The Lexical and RegExp Grammars)

ECMAScript 縺ョ蟄怜唱譁�ウ輔�繧サ繧ッ繧キ繝ァ繝ウ 7 縺ォ荳弱∴繧峨l繧九€ゅ%縺ョ譁�ウ輔�邨らォッ險伜捷縺ィ縺励※ Unicode 譁�ュ励そ繝�ヨ縺ョ譁�ュ励r繧ゅ▽縲ら岼讓呵ィ伜捷 InputElementDiv 繧� InputElementRegExp 縺九i蟋九∪繧狗函謌占ヲ丞援縺ョ繧サ繝�ヨ繧貞ョ夂セゥ縺励€√%繧後� Unicode 譁�ュ励�繧キ繝シ繧ア繝ウ繧ケ縺悟�蜉幄ヲ∫エ�縺ョ繧キ繝シ繧ア繝ウ繧ケ蜀�↓縺ゥ縺ョ繧医≧縺ォ鄙サ險ウ縺輔l繧九°繧定ェャ譏弱☆繧九€�

遨コ逋ス鬘槫所縺ウ繧ウ繝。繝ウ繝井サ・螟悶�蜈・蜉幄ヲ∫エ�縺ッ縲� ECMAScript 繝医�繧ッ繝ウ (ECMAScript tokens) 縺ィ蜻シ縺ー繧後€� ECMAScript 縺ョ讒区枚逧�枚豕輔↓邨らォッ險伜捷繧貞ス「謌舌☆繧九€ゅ%繧後i縺ョ繝医�繧ッ繝ウ縺ッ ECMAScript 險€隱槭�莠育エ�ェ槭€∬ュ伜挨蟄舌€√Μ繝�Λ繝ォ縺翫h縺ウ謗・邯壼ュ舌〒縺ゅk縲ゅ&繧峨↓縲∬。檎オらォッ蟄� (line terminator) 縺ッ繝医�繧ッ繝ウ縺�縺ィ閠�∴繧峨l縺ヲ縺ッ縺�↑縺�′縲∝�蜉幄ヲ∫エ�縺ョ繧ケ繝医Μ繝シ繝�縺ョ荳€驛ィ縺ォ縺ェ繧翫€∬�蜍輔そ繝溘さ繝ュ繝ウ謖ソ蜈・ (繧サ繧ッ繧キ繝ァ繝ウ7.9) 縺ョ繝励Ο繧サ繧ケ繧偵ぎ繧、繝峨☆繧九€�

蜊倡エ斐↑遨コ逋ス鬘槭♀繧医�荳€陦後�繧ウ繝。繝ウ繝医�縲∝サ�」�&繧後※讒区枚逧�↑譁�ウ慕畑縺ョ蜈・蜉幄ヲ∫エ�縺ョ繧ケ繝医Μ繝シ繝�縺ォ蜃コ迴セ縺励↑縺�€�MultiLineComment (1 陦後r雜�∴繧九°遽�峇縺九←縺�°髢「菫ゅ↑縺� "/*窶ヲ*/" 蠖「蠑上�繧ウ繝。繝ウ繝�) 縺瑚。檎オらォッ蟄舌r蜷ォ縺セ縺ェ縺��エ蜷医€∝酔讒倥↓蜊倥↓蟒�」�&繧後k; 縺励°縺励€`ultiLineComment 縺� 1 縺、莉・荳翫�陦檎オらォッ蟄舌r蜷ォ繧薙〒縺�k蝣エ蜷医€√◎繧後� 1 縺、縺ョ陦檎オらォッ蟄舌→鄂ョ謠帙&繧後€√◎繧後�讒区枚逧�↑譁�ウ慕畑縺ョ蜈・蜉幄ヲ∫エ�縺ョ繧ケ繝医Μ繝シ繝�縺ョ荳€驛ィ縺ォ縺ェ繧九€�

ECMAScript 縺ョ縺溘a縺ョ RegExp 譁�ウ輔�繧サ繧ッ繧キ繝ァ繝ウ 15.10 縺ォ荳弱∴繧峨l繧九€ゅ%縺ョ譁�ウ輔�縲√&繧峨↓縺昴�邨らォッ險伜捷縺ィ縺励※ Unicode 譁�ュ励そ繝�ヨ縺ョ譁�ュ励r謖√▽縲ゅ◎繧後� 1 繧サ繝�ヨ縺ョ逕滓�隕丞援繧貞ョ夂セゥ縺励€∫岼讓呵ィ伜捷繝代ち繝シ繝ウ縺九i髢句ァ九@縺ヲ縲� Unicode 譁�ュ励�繧キ繝シ繧ア繝ウ繧ケ縺梧ュ」隕剰。ィ迴セ繝代ち繝シ繝ウ縺ォ縺ゥ縺ョ繧医≧縺ォ鄙サ險ウ縺輔l繧九°隱ャ譏弱☆繧九€�

蟄怜唱縺ィ RegExp 譁�ウ輔�逕滓�隕丞援縺ッ縲∝玄蛻�j蛻�屬縺ィ縺励※ 2 縺、縺ョ繧ウ繝ュ繝ウ "::" 繧呈戟縺、縺薙→縺ァ隴伜挨縺輔l繧九€ょュ怜唱縺ィ RegExp 譁�ウ輔�縺�¥縺、縺九�逕滓�隕丞援繧貞�譛峨☆繧九€�

5.1.3 謨ー蛟、譁�ュ励�譁�ウ� (The Numeric String Grammar)

隨ャ莠後�譁�ウ輔�譁�ュ怜�繧偵r謨ー蛟、縺ョ蛟、縺ォ螟画鋤縺吶k縺ョ縺ォ菴ソ逕ィ縺輔l繧九€ゅ%縺ョ譁�ウ輔�縲∵焚蛟、繝ェ繝�Λ繝ォ縺ィ髢「菫ゅ☆繧句ュ怜唱縺ョ譁�ウ輔�荳€驛ィ縺ォ莨シ縺ヲ縺�※縲√◎縺ョ邨らォッ險伜捷縺ィ縺励※ Unicode 譁�ュ鈴寔蜷医�譁�ュ励r謖√▽縲ゅ%縺ョ譁�ウ輔�繧サ繧ッ繧キ繝ァ繝ウ 9.3.1 縺ォ蜃コ迴セ縺吶k縲�

謨ー蛟、逧�枚蟄玲枚豕輔�逕滓�隕丞援縺ッ縲∵磁邯壼ュ舌→縺励※ 3 縺、縺ョ繧ウ繝ュ繝ウ ":::" 繧堤畑縺�※蛹コ蛻・縺輔l繧九€�

5.1.4 讒区枚逧�枚豕� (The Syntactic Grammar)

ECMAScript 縺ョ縺溘a縺ョ讒区枚逧�枚豕輔�縲�繧サ繧ッ繧キ繝ァ繝ウ 11, 12, 13, 14 縺ョ荳ュ縺ァ荳弱∴繧峨l繧九€ゅ%縺ョ譁�ウ輔� ECMAScript 繝医�繧ッ繝ウ繧呈戟縺。縲∝ュ怜唱譁�ウ輔↓繧医▲縺ヲ縺昴�邨らォッ險伜捷 (繧サ繧ッ繧キ繝ァ繝ウ 5.1.2) 縺ィ縺励※螳夂セゥ縺輔l繧九€ゅ◎繧後�逕滓�隕丞援縺ョ荳€髮�粋繧貞ョ夂セゥ縺励€∫岼讓呵ィ伜捷 Program 縺九i髢句ァ九@縲√ヨ繝シ繧ッ繝ウ縺ョ繧キ繝シ繧ア繝ウ繧ケ縺後←縺ョ繧医≧縺ォ讒区枚荳頑ュ」縺励> ECMAScript 繝励Ο繧ー繝ゥ繝�繧貞ス「謌舌〒縺阪k縺玖ェャ譏弱☆繧九€�

Unicode 譁�ュ励�繧ケ繝医Μ繝シ繝�縺� ECMAScript 繝励Ο繧ー繝ゥ繝�縺ィ縺励※隗」譫舌&繧後k縺薙→縺ォ縺ェ縺」縺ヲ縺�k蝣エ蜷医€√◎繧後�蟄怜唱譁�ウ輔�郢ー繧願ソ斐&繧後◆驕ゥ逕ィ縺ォ繧医▲縺ヲ縲∵怙蛻昴↓蜈・蜉幄ヲ∫エ�縺ョ繧ケ繝医Μ繝シ繝�縺ォ螟画鋤縺輔l繧�; 縺薙�蜈・蜉幄ヲ∫エ�縺ョ繧ケ繝医Μ繝シ繝�縺ッ縺昴�蠕後€∵ァ区枚譁�ウ輔�蜊倅ク€縺ョ繧「繝励Μ繧ア繝シ繧キ繝ァ繝ウ縺ォ繧医▲縺ヲ隗」譫舌&繧後k縲よョ九▲縺溘ヨ繝シ繧ッ繝ウ縺ョ縺ェ縺�€√ざ繝シ繝ォ髱樒オらォッ險伜捷Program 縺ョ蜊倅ク€縺ョ螳滉セ九→縺励※蜈・蜉幄ヲ∫エ�縺ョ繧ケ繝医Μ繝シ繝�縺ョ繝医�繧ッ繝ウ繧定ァ」譫舌〒縺阪↑縺��エ蜷医€√�繝ュ繧ー繝ゥ繝�縺ッ讒区枚荳願ェ、縺」縺ヲ縺�k縲�

讒区枚逧�枚豕輔�逕滓�隕丞援縺ッ縲∵磁邯壼ュ舌→縺励※ 1 縺、縺ョ繧ウ繝ュ繝ウ ":" 繧堤畑縺�※蛹コ蛻・縺輔l繧九€�

繧サ繧ッ繧キ繝ァ繝ウ 11, 12, 13, 14 縺ョ荳ュ縺ァ遉コ縺輔l繧区ァ区枚逧�枚豕輔�縲√ヨ繝シ繧ッ繝ウ繧キ繝シ繧ア繝ウ繧ケ縺梧ュ」縺励> ECMAScript 繝励Ο繧ー繝ゥ繝�縺ィ縺励※隱阪a繧峨l繧九€∫樟螳溘↓螳悟�縺ェ隱ャ譏弱〒縺ッ縺ェ縺�€ら桝縺�ス吝慍縺ョ縺ェ縺�ソス蜉�繝医�繧ッ繝ウ繧キ繝シ繧ア繝ウ繧ケ縲√☆縺ェ繧上■縲∵枚豕輔↓繧医▲縺ヲ險倩ソー縺輔l縲√そ繝溘さ繝ュ繝ウ縺�縺代′ (陦檎オらォッ蟄先枚蟄励�蜑阪�繧医≧縺ェ) 遒コ螳溘↑蝣エ謇€蜀��繧キ繝シ繧ア繝ウ繧ケ縺ォ蜉�縺医i繧後◆蝣エ蜷医b蜿礼炊縺輔l繧九€よ峩縺ォ縲∫オらォッ蟄先枚蟄励′遒コ螳溘↓ "荳埼←蠖薙↑" 蝣エ謇€縺ォ迴セ繧上l繧句�エ蜷医€∵枚豕輔↓繧医▲縺ヲ險倩ソー縺輔l繧九≠繧九ヨ繝シ繧ッ繝ウ繧キ繝シ繧ア繝ウ繧ケ縺ッ縲∝女逅�庄閭ス縺ァ縺ゅk縺ィ縺ッ閠�∴繧峨l縺ェ縺�€�

5.1.5 譁�ウ戊ィ俶ウ� (Grammar Notation)

蟄怜唱縺ィ譁�ュ怜�縺ョ譁�ウ輔�邨らォッ險伜捷縺ィ縺�¥縺、縺九�讒区枚譁�ウ輔�邨らォッ險伜捷縺ッ縲∵枚豕輔�逕滓�隕丞援蜀�所縺ウ縺薙�莉墓ァ倥r騾壹@縺ヲ縲√ユ繧ュ繧ケ繝医′縺昴�繧医≧縺ェ邨らォッ險伜捷繧堤峩謗・蜿ら�縺吶k縺ィ縺阪� 遲牙ケ�ヵ繧ゥ繝ウ繝�縺ァ縺ゅi繧上&繧後k縲ゅ%繧後i縺ッ繝励Ο繧ー繝ゥ繝�荳ュ縺ォ譖ク縺九l繧九b縺ョ縺ィ縺励※蜃コ迴セ縺吶k縲ゅ%縺ョ譁ケ豕輔〒謖�ョ壹&繧後k髱樒オらォッ險伜捷縺ョ譁�ュ励�蜈ィ縺ヲ縲� ASCII 縺ョ遽�峇縺九i 驕ゥ蠖薙↑ Unicode 譁�ュ励→縺励※逅�ァ」縺輔l繧九b縺ョ縺ァ縺ゅj縲∽サ悶� Unicode 遽�峇縺ョ鬘樔シシ縺励◆譁�ュ励〒縺ッ縺ェ縺�€�

髱樒オらォッ險伜捷縺ッ 繧、繧ソ繝ェ繝�け菴� 縺ァ縺ゅi繧上&繧後k縲る撼邨らォッ險伜捷縺ョ螳夂セゥ縺ッ縲∽ク€縺、莉・荳翫�繧ウ繝ュ繝ウ縺ョ邯壹¥螳夂セゥ縺輔l縺ヲ縺�k髱樒オらォッ險伜捷縺ョ蜷榊燕縺ォ繧医▲縺ヲ譯亥�縺輔l繧九€�(繧ウ繝ュ繝ウ縺ョ謨ー縺ッ逕滓�隕丞援縺後←縺ョ譁�ウ輔↓螻槭☆繧九°繧堤、コ縺吶€�) 髱樒オらォッ險伜捷縺ョ荳€縺、莉・荳翫�莉」譖ソ縺ョ蜿ウ霎コ縺ッ蠕檎カ夊。後↓邯壹¥縲�

[險ウ豕ィ: 縺薙� HTML 迚磯え險ウ縺ァ縺ョ繝輔か繝ウ繝医�縺薙�髯舌j縺ァ縺ッ縺ェ縺�°繧ゅ@繧後↑縺�€�]

萓九∴縺ー縲∵ャ。縺ョ讒区枚螳夂セゥ:

WithStatement :
with ( Expression ) Statement

縺ッ縲�撼邨らォッ險伜捷 WithStatement 縺後ヨ繝シ繧ッ繝ウ with 縲∝キヲ諡ャ蠑ァ繝医�繧ッ繝ウ縲� Expression 縲∝承諡ャ蠑ァ繝医�繧ッ繝ウ縲� Statement 縺ョ邯壹″繧偵≠繧峨o縺吶%縺ィ繧呈�險€縺吶k縲� Expression 蜿翫� Statement 縺ョ蜃コ迴セ縺ッ縺昴l閾ェ霄ォ髱樒オらォッ縺ァ縺ゅk縲ょ挨縺ェ萓九→縺励※縲∵ャ。縺ョ讒区枚螳夂セゥ:

ArgumentList :
AssignmentExpression
ArgumentList , AssignmentExpression

縺ッ縲� ArgumentList 縺悟腰荳€縺ョ AssignmentExpression 縲√∪縺溘� ArgumentList 縲√き繝ウ繝槭€� AssignmentExpression 縺ョ邯壹″縺ョ縺ゥ縺。繧峨°繧偵≠繧峨o縺吶°繧ゅ@繧後↑縺�%縺ィ繧呈�險€縺吶k縲ゅ%縺ョ ArgumentList 縺ョ螳夂セゥ縺ッ蜀榊クー逧�〒縲√▽縺セ繧翫€∬�蛻��霄ォ縺ョ陦ィ迴セ縺ョ荳ュ縺ァ螳夂セゥ縺輔l繧九€らオ先棡縺ィ縺励※縲� ArgumentList 縺ッ繧ォ繝ウ繝槭〒蛹コ蛻�i繧後◆莉サ諢上�豁」謨ー縺ョ蠑墓焚縺ァ讒区�縺輔l縺�k縲ゅ◎縺ョ蜷�シ墓焚蠑上�縺ィ縺薙m縺ッ AssignmentExpression 縺ァ縺ゅk縲る撼邨らォッ險伜捷縺ョ縺昴�繧医≧縺ェ蜀榊クー逧�ョ夂セゥ縺御ク€闊ャ逧�〒縺ゅk縲�

荳倶サ倥″譁�ュ励↓繧医k蠕檎スョ蜿・ "opt" 縺ッ縲∫オらォッ險伜捷縺セ縺溘�髱樒オらォッ險伜捷縺ョ蠕後↓蜃コ迴セ縺ァ縺阪€�∈謚樒噪險伜捷繧堤、コ縺吶€ゆサ」譖ソ讒区�縺ョ驕ク謚樒噪險伜捷縺ッ螳滄圀縺ッ 2 縺、縺ョ蜿ウ霎コ繧定ヲ丞ョ壹☆繧九€�1 縺、縺ッ驕ク謚樒噪隕∫エ�繧堤怐縺�◆繧ゅ�縲�1 縺、縺ッ蜷ォ繧√◆繧ゅ�縺ァ縺ゅk縲ゅ%繧後�縺、縺セ繧�:

VariableDeclaration :
Identifier Initialiseropt

縺ッ谺。縺ョ逡・險倥〒縺ゅk縺ィ縺�≧縺薙→縺�:

VariableDeclaration :
Identifier
Identifier Initialiser

縺昴@縺ヲ:

IterationStatement :
for ( ExpressionNoInopt ; Expressionopt ; Expressionopt ) Statement

縺ッ谺。縺ョ逡・險倥〒縺ゅj:

IterationStatement :
for ( ; Expressionopt ; Expressionopt ) Statement
for ( ExpressionNoIn ; Expressionopt ; Expressionopt ) Statement

鬆�↓谺。縺ョ逡・險倥→縺�≧縺薙→縺ォ縺ェ繧�:

IterationStatement :
for ( ; ; Expressionopt ) Statement
for ( ; Expression ; Expressionopt ) Statement
for ( ExpressionNoIn ; ; Expressionopt ) Statement
for ( ExpressionNoIn ; Expression ; Expressionopt ) Statement

鬆�↓谺。縺ョ逡・險倥→縺�≧縺薙→縺ォ縺ェ繧�:

IterationStatement :
for ( ; ; ) Statement
for ( ; ; Expression ) Statement
for ( ; Expression ; ) Statement
for ( ; Expression ; Expression ) Statement
for ( ExpressionNoIn ; ; ) Statement
for ( ExpressionNoIn ; ; Expression ) Statement
for ( ExpressionNoIn ; Expression ; ) Statement
for ( ExpressionNoIn ; Expression ; Expression ) Statement

蠕薙▲縺ヲ髱樒オらォッ險伜捷 IterationStatement 縺ッ縲∝ョ滄圀縺ォ縺ッ 8 蛟九�莉」譖ソ蜿ウ霎コ繧呈戟縺、縲�

繝輔Ξ繝シ繧コ "[empty]" 縺檎函謌占ヲ丞援縺ョ蜿ウ霎コ縺ォ蜃コ迴セ縺吶k縺ェ繧峨�縲√◎繧後�逕滓�隕丞援縺ョ蜿ウ霎コ縺檎オらォッ險伜捷繧る撼邨らォッ險伜捷繧ょ性縺セ縺ェ縺�%縺ィ繧堤、コ縺吶€�

繝輔Ξ繝シ繧コ "[lookahead ∉ set]" 縺檎函謌占ヲ丞援縺ョ蜿ウ霎コ縺ォ蜃コ迴セ縺吶k蝣エ蜷医�縲∫峩蠕後�蜈・蜉帷オらォッ險伜捷縺御ク弱∴繧峨l縺� set 縺ョ蜈�↑繧峨�縲∫函謌占ヲ丞援縺御スソ繧上l縺ェ縺�%縺ィ繧堤、コ縺吶€� set 縺ッ { } 蜀�↓蝗イ縺セ繧後◆邨らォッ險伜捷縺ョ繝ェ繧ケ繝医→縺励※譖ク縺上%縺ィ縺悟�譚・繧九€らー。貎斐↓險€縺医�縲� set 縺ッ髱樒オらォッ險伜捷縺ィ縺励※譖ク縺上%縺ィ繧ょ�譚・繧九€ゅ◎縺ョ蝣エ蜷医€�撼邨らォッ險伜捷縺九i螻暮幕蜿ッ閭ス縺ェ邨らォッ險伜捷縺ョ蜈ィ縺ヲ繧偵≠繧峨o縺吶€ゆセ九∴縺ー縲∝ョ夂セゥ

DecimalDigit :: one of
0 1 2 3 4 5 6 7 8 9
DecimalDigits ::
DecimalDigit
DecimalDigits DecimalDigit

繧剃ク弱∴繧峨l縺ヲ縲∝ョ夂セゥ

LookaheadExample ::
n [lookahead ∉ {1, 3, 5, 7, 9} ] DecimalDigits
DecimalDigit [lookahead ∉ DecimalDigit ]

縺ッ縲∝�謨ー縺ァ蟋九∪繧倶ク€縺、莉・荳翫�謨ー蟄励′邯壹¥譁�ュ� n 縲√≠繧九>縺ッ莉悶�謨ー蟄励′邯壹°縺ェ縺�焚蟄励↓繝槭ャ繝√☆繧九€�

繝輔Ξ繝シ繧コ "[no LineTerminator here]" 讒区枚逧�枚豕輔�逕滓�隕丞援縺ョ蜿ウ霎コ縺ォ蜃コ迴セ縺吶k蝣エ蜷医€∫函謌占ヲ丞援縺� 蛻カ髯千函謌占ヲ丞援 (restricted production) 縺ァ縺ゅk縺薙→繧堤、コ縺�: 蜈・蜉帙せ繝医Μ繝シ繝�縺ョ遉コ縺輔l縺滉ス咲スョ縺ォ LineTerminator 縺悟�迴セ縺励↑縺代l縺ー菴ソ逕ィ縺ァ縺阪↑縺�€ゆセ九∴縺ー縲∵ャ。縺ョ逕滓�隕丞援:

ReturnStatement :
return [LineTerminator 辟。縺余 Expressionopt ;

繝励Ο繧ー繝ゥ繝�蜀�� return 繝医�繧ッ繝ウ縺ィ Expression 縺ョ髢薙↓ LineTerminator 縺悟�迴セ縺吶k蝣エ蜷医�縺薙�逕滓�隕丞援縺ッ菴ソ逕ィ縺ァ縺阪↑縺�€�

LineTerminator 縺ョ蟄伜惠縺悟宛髯千函謌占ヲ丞援縺ォ髫�縺輔l縺ェ縺代l縺ー縲∝�蜉幄ヲ∫エ�縺ョ繧ケ繝医Μ繝シ繝�蜀�� 2 縺、縺ョ騾」邯壹☆繧九ヨ繝シ繧ッ繝ウ髢薙↓ LineTerminator 縺ッ縺�¥縺、縺ァ繧ょ�迴セ縺ァ縺阪€√�繝ュ繧ー繝ゥ繝�縺ョ讒区枚逧�女螳ケ諤ァ縺ォ蠖ア髻ソ繧剃ク弱∴縺ェ縺�€�

譁�ウ募ョ夂セゥ蜀��繧ウ繝ュ繝ウ縺ォ隱槫唱 "one of" 縺檎カ壹¥蝣エ蜷医€∝セ檎カ夊。後�邨らォッ險伜捷縺ョ縺昴l縺槭l縺御サ」譖ソ螳夂セゥ縺ァ縺ゅk縺薙→繧呈э蜻ウ縺吶k縲ゆセ九∴縺ー縲・CMAScript 縺ョ蟄怜唱譁�ウ輔�谺。縺ョ逕滓�隕丞援繧貞性繧€:

NonZeroDigit :: one of
1 2 3 4 5 6 7 8 9

縺薙l縺ッ蜊倥↓谺。縺ョ逡・險倥〒縺ゅk:

NonZeroDigit :: one of
1
2
3
4
5
6
7
8
9

蟄怜唱譁�ウ輔∪縺滓焚蛟、譁�ュ玲枚豕輔�逕滓�隕丞援蜀��莉」譖ソ縺瑚、�焚譁�ュ励ヨ繝シ繧ッ繝ウ縺ァ縺ゅk蝣エ蜷医€√◎縺ョ繝医�繧ッ繝ウ繧剃ス懊k譁�ュ励す繝シ繧ア繝ウ繧ケ繧偵≠繧峨o縺吶€�

逕滓�隕丞援縺ョ蜿ウ霎コ縺ッ縲√ヵ繝ャ繝シ繧コ "but not" 繧堤畑縺�※縺ゅk螻暮幕縺瑚ィア蜿ッ縺輔l縺ェ縺�%縺ィ繧定ヲ丞ョ壹@縺ヲ繧医¥縲√◎縺ョ螻暮幕縺ッ髯、螟悶&繧後k縲ゆセ九∴縺ー縲∵ャ。縺ョ逕滓�隕丞援:

Identifier ::
IdentifierName but not ReservedWord

縺ッ縲�撼邨らォッ險伜捷 Identifier 縺� IdentifierName 縺ォ鄂ョ謠帛庄閭ス縺�縺� ReservedWord 縺ァ鄂ョ謠帑ク榊庄閭ス縺ェ譁�ュ励す繝シ繧ア繝ウ繧ケ縺ァ縺ゅk縺薙→繧呈э蜻ウ縺吶k縲�

譛€蠕後↓縲∝�縺ヲ縺ョ莉」譖ソ繧偵☆縺ケ縺ヲ縺ゅ£繧九�縺檎樟螳溽噪縺ァ縺ェ縺�>縺上▽縺九�髱樒オらォッ險伜捷縺後€√Ο繝シ繝槭Φ菴薙�隱ャ譏守噪繝輔Ξ繝シ繧コ縺ァ險倩ソー縺輔l繧�:

SourceCharacter ::
any Unicode character

5.2 繧「繝ォ繧エ繝ェ繧コ繝�險倩ソー縺ォ縺、縺�※ (Algorithm Conventions)

莉墓ァ倥�縺励�縺励�逡ェ蜿キ繧呈険縺」縺溘Μ繧ケ繝医r逕ィ縺�※縲√い繝ォ繧エ繝ェ繧コ繝�蜀��繧ケ繝�ャ繝励r隕丞ョ壹☆繧九€ゅ%繧後i縺ョ繧「繝ォ繧エ繝ェ繧コ繝�縺ッ諢丞袖隲悶r譏守「コ縺ォ縺吶k縺溘a縺ォ逕ィ縺�i繧後k縲ょョ滄圀縺ォ縺ッ縲∽ク弱∴繧峨l繧区ゥ溯�縺ョ螳溯」�↓譛牙柑縺ェ縲√h繧願�邇�噪縺ェ繧「繝ォ繧エ繝ェ繧コ繝�縺ァ縺ゅ▲縺ヲ繧医>縲�

繧「繝ォ繧エ繝ェ繧コ繝�縺檎オ先棡縺ィ縺励※蛟、繧堤函謌舌☆繧九→縺� "x 繧定ソ斐☆" 縺檎畑縺�i繧後€√い繝ォ繧エ繝ェ繧コ繝�縺ョ邨先棡縺� x 縺ョ蛟、縺ァ縺ゅj縲√い繝ォ繧エ繝ェ繧コ繝�縺檎オゆコ�☆縺ケ縺阪〒縺ゅk縺薙→繧堤、コ縺吶€り。ィ險� Result(n) 縺ッ "繧ケ繝�ャ繝� n 縺ョ邨先棡" 縺ョ逡・險倥〒縺ゅk縲5ype(x) 縺ッ "x 縺ョ蝙�" 縺ョ逡・險倥〒縺ゅk縲�

譛ャ繧サ繧ッ繧キ繝ァ繝ウ縺ァ蠕後↓霑ー縺ケ繧句刈豕輔€∵ク帶ウ輔€∝凄螳壹€∽ケ玲ウ輔€�勁豕輔€∵焚蟄ヲ逧�未謨ー縺ョ繧医≧縺ェ謨ー蟄ヲ逧�桃菴懊�縲∝クク縺ォ縲∫┌髯仙所縺ウ豁」縺ョ 0 縺九i蛹コ蛻・縺輔l繧玖イ�縺ョ 0 繧貞性縺セ縺ェ縺�焚蟄ヲ逧�↑螳滓焚荳翫�蜴ウ蟇�↑謨ー蟄ヲ逧�オ先棡繧呈シ皮ョ励☆繧九b縺ョ縺ィ縺励※逅�ァ」縺輔l繧九∋縺阪〒縺ゅk縲よオョ蜍募ー乗焚轤ケ謨ー險育ョ励r菴懊k縺薙�讓呎コ悶�繧「繝ォ繧エ繝ェ繧コ繝�縺ッ縲∝ソ�ヲ√↓蠢懊§縺ヲ縲∫┌髯舌→隨ヲ蜿キ莉倥″縺ョ 0 繧呈桃菴懊@荳ク繧√�螳溯。後☆繧九€∵�遉コ逧�↑繧ケ繝�ャ繝励r蜷ォ繧€縲よ焚蟄ヲ逧�桃菴懊∪縺溘�髢「謨ー縺梧オョ蜍募ー乗焚轤ケ謨ー縺ォ驕ゥ逕ィ縺輔l繧句�エ蜷医€√◎縺ョ豬ョ蜍募ー乗焚轤ケ謨ー\縺ァ縺ゅi繧上&繧後k蜴ウ蟇�↑謨ー蟄ヲ逧�€、縺ォ驕ゥ逕ィ縺輔l繧九b縺ョ縺ィ縺励※逅�ァ」縺輔l繧九∋縺阪〒縺ゅk; 縺昴�繧医≧縺ェ豬ョ蜍募ー乗焚轤ケ謨ー縺ッ譛蛾剞縺ァ縺ゅk縺ケ縺阪〒縲√◎縺励※ +0 縺セ縺溘� -0 縺ェ繧峨�隧イ蠖薙☆繧区焚蟄ヲ逧�€、縺ッ蜊倥↓ 0 縺ァ縺ゅk縲�

謨ー蟄ヲ髢「謨ー abs(x) 縺ッ x 縺ョ邨カ蟇セ蛟、繧偵b縺溘i縺励€� x 縺瑚イ�(0 譛ェ貅€) 縺ェ繧� -x 縲√◎縺�〒縺ェ縺代l縺ー x 閾ェ霄ォ縺ァ縺ゅk縲�

謨ー蟄ヲ髢「謨ー sign(x) 縺ッ縲� x 縺梧ュ」縺ェ繧峨� 1縲� x 縺瑚イ�縺ェ繧峨� -1 繧偵b縺溘i縺吶€� x 縺� 0 縺ョ縺ィ縺阪�縺溘a縺ョ sign 髢「謨ー縺ッ縺薙�讓呎コ悶〒縺ッ逕ィ縺�i繧後↑縺�€�

險俶ウ� "x modulo y" (y 縺ッ 0 莉・螟悶�譛蛾剞謨ー) 縺ッ縲√≠繧区紛謨ー q 縺ォ縺、縺�※ abs(k) < abs(y) 縺九▽ x - k = q * y 縺ァ縺ゅk繧医≧縺ェ縲� y (蜿医� 0) 縺ィ蜷後§隨ヲ蜿キ縺ョ蛟、 k 繧堤ョ怜�縺吶k縲�

謨ー蟄ヲ髢「謨ー floor(x) 縺ッ x 繧医j螟ァ縺阪¥縺ェ縺�怙螟ァ縺ョ謨エ謨ー (豁」縺ョ辟。髯舌↓謗・霑代☆繧�) 繧偵b縺溘i縺吶€�

NOTE floor(x) = x - (x modulo 1).

繧「繝ォ繧エ繝ェ繧コ繝�縺� "萓句、悶r謚輔£繧�" 縺ィ螳夂セゥ縺輔l縺ヲ縺�l縺ー縲√い繝ォ繧エ繝ェ繧コ繝�縺ョ螳溯。後�邨ゆコ�@縲∫オ先棡繧剃ス輔b霑斐&縺ェ縺�€ゅい繝ォ繧エ繝ェ繧コ繝�蜻シ蜃コ縺励b邨ゆコ�@縲� "萓句、悶′謚輔£繧峨l縺溘i窶ヲ" 縺ョ繧医≧縺ェ逕ィ隱槭r逕ィ縺�※縲√い繝ォ繧エ繝ェ繧コ繝�縺ョ繧ケ繝�ャ繝励′譏守、コ逧�↓萓句、悶r謇ア縺�↓閾ウ繧九€ゆク€蠎ヲ縺昴�繧医≧縺ェ繧「繝ォ繧エ繝ェ繧コ繝�縺ョ繧ケ繝�ャ繝励↓驕ュ驕�@縺溘i縺昴l莉・荳贋セ句、悶�逋コ逕溘�閠��縺輔l縺ェ縺�€�

Page Contents

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