譛ャ鬆√�逶ョ谺。 逶ョ谺。 谺。鬆�: 12_Statements 蜑埼��: 10_Execution_Contexts
this
this
繧ュ繝シ繝ッ繝シ繝峨�螳溯。後さ繝ウ繝�く繧ケ繝医� this
蛟、繧定ゥ穂セ。縺吶k縲�
隴伜挨蟄舌�縲�繧サ繧ッ繧キ繝ァ繝ウ 10.1.4 縺ァ霑ー縺ケ縺溘せ繧ウ繝シ繝苓ヲ丞援繧剃スソ逕ィ縺励※隧穂セ。縺輔l繧九ゅ%縺ョ隴伜挨蟄占ゥ穂セ。縺ョ邨先棡縺ッ蟶ク縺ォ Reference 蝙九�蛟、縺ァ縺ゅk縲�
繝ェ繝�Λ繝ォ縺ッ繧サ繧ッ繧キ繝ァ繝ウ 7.8 縺ォ霑ー縺ケ繧九h縺�↓隧穂セ。縺輔l繧九�
Array 蛻晄悄蛹門ュ舌�縲� Array 繧ェ繝悶ず繧ァ繧ッ繝医�蛻晄悄蛹悶r險倩ソー縺吶k蠑上〒縲√Μ繝�Λ繝ォ蠖「蠑上〒譖ク縺九l繧九ゅ◎繧後�驟榊�隕∫エ�繧偵≠繧峨o縺� 0 蛟倶サ・荳翫�蠑上�繝ェ繧ケ繝医〒縲√◎繧後◇繧瑚ァ呈峡蠑ァ "[ ]" 縺ァ蝗イ縺セ繧後k縲りヲ∫エ�縺ッ繝ェ繝�Λ繝ォ縺ァ縺ゅk蠢�ヲ√�縺ェ縺�; 縺昴l繧峨� Array 蛻晄悄蛹門ュ舌′隧穂セ。縺輔l繧句コヲ縺ォ隧穂セ。縺輔l繧九�
驟榊�隕∫エ�縺ッ隕∫エ�繝ェ繧ケ繝医�髢句ァ九∽クュ髢薙∵忰蟆セ縺ァ逵∫払繧ゅ〒縺阪k縲りヲ∫エ�繝ェ繧ケ繝井クュ縺ァ AssignmentExpression 縺ョ蜈郁。後@縺ェ縺�き繝ウ繝槭�縲∵ャ�縺代◆驟榊�隕∫エ�縺� Array 縺ョ髟キ縺輔↓蟇�ク弱@縲∫カ壹¥隕∫エ�縺ョ繧、繝ウ繝�ャ繧ッ繧ケ繧貞「怜刈縺輔○繧九ら怐逡・縺輔l縺滄�蛻苓ヲ∫エ�縺ッ螳夂セゥ縺輔l縺ェ縺��
逕滓�隕丞援 ArrayLiteral : [ Elisionopt ] 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
new
Array()
縺ィ蜷梧ァ倥↓縲∵眠隕上↓驟榊�繧堤函謌舌☆繧九�逕滓�隕丞援 ArrayLiteral : [ ElementList ] 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 ArrayLiteral : [ ElementList , Elisionopt ] 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 ElementList : Elisionopt AssignmentExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
new
Array()
縺ィ蜷梧ァ倥↓縲∵眠隕上↓驟榊�繧堤函謌舌☆繧九�逕滓�隕丞援 ElementList : ElementList , Elisionopt AssignmentExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 Elision : , 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 Elision : Elision , 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
繧ェ繝悶ず繧ァ繧ッ繝亥�譛溷喧蟄舌� Object 縺ョ蛻晄悄蛹悶r險倩ソー縺吶k蠑上〒縺ゅj縲√Μ繝�Λ繝ォ縺ョ繧医≧縺ェ蠖「蠑上〒譖ク縺九l繧九ゅ�繝ュ繝代ユ繧」蜷阪→縺昴�蛟、縺ョ 0 蛟倶サ・荳翫�邨��繝ェ繧ケ繝医r { } 縺ァ蝗イ繧縲ょ、縺ッ繝ェ繝�Λ繝ォ縺ァ縺ゅk蠢�ヲ√�縺ェ縺�; 繧ェ繝悶ず繧ァ繧ッ繝亥�譛溷喧蟄舌′隧穂セ。縺輔l繧句コヲ縺ォ縲√◎繧後�隧穂セ。縺輔l繧九�
逕滓�隕丞援 ObjectLiteral : { } 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
new
Object()
縺ィ蜷梧ァ倥↓譁ー隕上↓繧ェ繝悶ず繧ァ繧ッ繝医r逕滓�縺吶k縲�逕滓�隕丞援 ObjectLiteral : { PropertyNameAndValueList } 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 PropertyNameAndValueList : PropertyName : AssignmentExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
new
Object()
縺ィ蜷梧ァ倥↓譁ー隕上↓繧ェ繝悶ず繧ァ繧ッ繝医r逕滓�縺吶k縲�逕滓�隕丞援 PropertyNameAndValueList : PropertyNameAndValueList , PropertyName : AssignmentExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 PropertyName : Identifier 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 PropertyName : StringLiteral 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 PropertyName : NumericLiteral 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 PrimaryExpression : ( Expression ) 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
NOTE 縺薙�繧「繝ォ繧エ繝ェ繧コ繝�縺ッ縲� Result(1) 縺ォ GetValue 繧帝←逕ィ縺励↑縺�� delete
繧� typeof
縺ョ繧医≧縺ェ貍皮ョ怜ュ舌↓諡ャ蠑ァ縺ョ縺、縺�◆蠑上r驕ゥ逕ィ縺ァ縺阪k繧医≧縺ォ縺吶k縺薙→縺後%繧後↓縺、縺�※縺ョ荳サ縺ェ蜍墓ゥ溘〒縺ゅk縲�
new
MemberExpression Argumentsnew
NewExpression繝峨ャ繝郁ィ俶ウ輔r逕ィ縺�※縲√�繝ュ繝代ユ繧」縺ッ蜷榊燕縺ォ繧医j繧「繧ッ繧サ繧ケ縺輔l繧�:
縺セ縺溘�諡ャ蠑ァ險俶ウ輔〒:
繝峨ャ繝郁ィ俶ウ輔�谺。縺ョ讒区枚逧�、画鋤縺ァ隱ャ譏弱&繧後k:
縺ョ謖ッ繧玖�縺��谺。縺ィ蜷檎ュ峨〒縺ゅk縲�
蜷梧ァ倥↓
縺ョ謖ッ繧玖�縺��谺。縺ィ蜷檎ュ峨〒縺ゅk縲�
<identifier-string> 縺ョ縺ィ縺薙m縺ッ Identifier 縺ィ縺励※蜷後§譁�ュ励す繝シ繧ア繝ウ繧ケ繧呈ァ区�縺吶k譁�ュ怜�繝ェ繝�Λ繝ォ縺ァ縺ゅk縲�
逕滓�隕丞援 MemberExpression : MemberExpression [ Expression ] 縺ッ谺。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 CallExpression : CallExpression [ Expression ] 縺ッ蜈ィ縺丞酔縺俶婿豕輔〒隧穂セ。縺輔l繧九′縲√せ繝�ャ繝� 1 縺ァ縺ッ CallExpression 縺瑚ゥ穂セ。縺輔l繧九�
逕滓�隕丞援 NewExpression : new
NewExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 MemberExpression : new
MemberExpression Arguments 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 CallExpression : MemberExpression Arguments 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 CallExpression : CallExpression Arguments 縺ッ蜈ィ縺丞酔讒倥↓隧穂セ。縺輔l繧九′縲√せ繝�ャ繝� 1 縺ァ縺ッ CallExpression 縺瑚ゥ穂セ。縺輔l繧九�
NOTE Result(3) 縺� Native ECMAScript 繧ェ繝悶ず繧ァ繧ッ繝医↑繧峨�縲� Result(8) 縺ッ縺代@縺ヲ Reference 蝙九↓縺ッ縺ェ繧峨↑縺�� Host 繧ェ繝悶ず繧ァ繧ッ繝亥他縺ウ蜃コ縺励′ Reference 蝙九�蛟、繧定ソ斐☆縺九←縺�°縺ッ縲∝ョ溯」�セ晏ュ倥〒縺ゅk縲�
蠑墓焚繝ェ繧ケ繝医�隧穂セ。縺ッ蛟、縺ォ繧医k蜀�Κ逧�Μ繧ケ繝� (繧サ繧ッ繧キ繝ァ繝ウ 8.8) 繧堤函謌舌☆繧九�
逕滓�隕丞援 Arguments : ( ) 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 Arguments : ( ArgumentList ) 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 ArgumentList : AssignmentExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 ArgumentList : ArgumentList , AssignmentExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 MemberExpression : FunctionExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 PostfixExpression : LeftHandSideExpression [no LineTerminator here] ++ 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 PostfixExpression : LeftHandSideExpression [no LineTerminator here] -- 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
delete
UnaryExpressionvoid
UnaryExpressiontypeof
UnaryExpression逕滓�隕丞援 UnaryExpression : delete
UnaryExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 UnaryExpression : void
UnaryExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 UnaryExpression : typeof
UnaryExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
Type | Result |
Undefined | "undefined" |
Null | "object" |
Boolean | "boolean" |
Number | "number" |
String | "string" |
Object (native and doesn't implement [[Call]]) | "object" |
Object (native and implements [[Call]]) |
"function" |
Object (host) | Implementation-dependent |
逕滓�隕丞援 UnaryExpression : ++ UnaryExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 UnaryExpression : -- UnaryExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
蜊倬�� + 貍皮ョ怜ュ舌�鬆�r Number 蝙九↓螟画鋤縺吶k縲�
逕滓�隕丞援 UnaryExpression : + UnaryExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
蜊倬�� - 貍皮ョ怜ュ舌�鬆�r Number 蝙九↓螟画鋤縺励∝渚霆「縺吶k縲� +0 縺ョ蜷ヲ螳壹� -0縲� -0 縺ョ蜷ヲ螳壹� +0 繧堤函謌舌☆繧九%縺ィ縺ォ豕ィ諢上�
逕滓�隕丞援 UnaryExpression : - UnaryExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 UnaryExpression : ~ UnaryExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 UnaryExpression : ! UnaryExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
@ 繧剃ク翫↓螳夂セゥ縺輔l繧区シ皮ョ怜ュ舌�荳縺、縺ィ縺励※縲∫函謌占ヲ丞援 MultiplicativeExpression : MultiplicativeExpression @ UnaryExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
豬ョ蜍募ー乗焚轤ケ謨ー荵礼ョ励�邨先棡縺ッ縲� IEEE 754 蛟咲イセ蠎ヲ險育ョ苓ヲ丞援縺ォ繧医j豎コ螳壹&繧後k:
/ 貍皮ョ怜ュ舌�荵礼ョ励r陦後>縲����蝠�r逕滓�縺吶k縲ょキヲ鬆�′陲ォ髯、謨ー縺ァ蜿ウ鬆�′髯、謨ー縺ァ縺ゅk縲� ECMAScript 縺ッ謨エ謨ー髯、邂励r陦後o縺ェ縺�る��→髯、邂玲シ皮ョ礼オ先棡縺ョ蜈ィ縺ヲ縺ッ蛟咲イセ蠎ヲ豬ョ蜍募ー乗焚轤ケ謨ー縺ァ縺ゅk縲ゆケ礼ョ励�邨先棡縺ッ縲� IEEE 754 邂苓。楢ヲ丞ョ壹↓繧医j豎コ螳壹&繧後k:
% 貍皮ョ怜ュ舌�縲∬ィ螟悶�髯、邂励°繧蛾���蜑ー菴吶r邂怜�縺吶k; 蟾ヲ鬆�′陲ォ髯、謨ー縺ァ蜿ウ鬆�′髯、謨ー縺ァ縺ゅk縲�
NOTE C 縺翫h縺ウ C++ 縺ォ縺翫>縺ヲ縲∝臆菴呎シ皮ョ怜ュ舌�謨エ謨ー鬆��縺ソ繧貞女縺台サ倥¢繧�; ECMAScript 縺ォ縺翫>縺ヲ縺ッ縲∵オョ蜍募ー乗焚轤ケ謨ー鬆�b蜿励¢莉倥¢繧九�
% 貍皮ョ怜ュ舌↓繧医j邂怜�縺輔l繧九h縺�↑豬ョ蜍募ー乗焚轤ケ謨ー縺ョ蜑ー菴呎シ皮ョ励�邨先棡縺ッ縲� IEEE 754 縺ァ螳夂セゥ縺輔l繧� "reminder" 貍皮ョ励→蜷梧ァ倥〒縺ッ縺ェ縺�� IEEE 754 "remainder" 貍皮ョ励�縲∝�繧頑昏縺ヲ髯、邂� (truncating division) 縺九i縺ァ縺ッ縺ェ縺丈クク繧�勁邂� (rounding division) 縺九i蜑ー菴吶r邂怜�縺励√@縺溘′縺」縺ヲ縺昴�謖ッ繧玖�縺��譛臥畑縺ェ謨エ謨ー蜑ー菴呎シ皮ョ怜ュ舌�縺昴l縺ィ縺ッ鬘樔シシ縺励↑縺�ゆサ」繧上j縺ォ ECMAScript 險隱槭� % 繧呈オョ蜍募ー乗焚轤ケ謨ー貍皮ョ嶺ク翫〒螳夂セゥ縺励� Java 謨エ謨ー蜑ー菴呎シ皮ョ怜ュ舌�縺昴l縺ォ鬘樔シシ縺吶k譁ケ豕輔〒謖ッ繧玖�縺�; 縺薙l縺ッ C 繝ゥ繧、繝悶Λ繝ェ髢「謨ー fmod 縺ィ豈碑シ�&繧後k.
ECMAScript 豬ョ蜍募ー乗焚轤ケ謨ー蜑ー菴呎シ皮ョ励�邨先棡縺ッ縲� IEEE 邂苓。薙�隕丞援縺ァ豎コ螳壹&繧後k:
蜉�豕墓シ皮ョ怜ュ舌�縲∵枚蟄怜�縺ョ騾」邨舌√∪縺溘�謨ー縺ョ蜉�豕輔�縺�★繧後°繧定。後≧縲�
逕滓�隕丞援 AdditiveExpression : AdditiveExpression + MultiplicativeExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
NOTE 繧ケ繝�ャ繝� 5 縺ィ 6 縺ォ縺翫¢繧� ToPrimitive 蜻シ蜃コ縺励〒縺ッ繝偵Φ繝医r謠蝉セ帙@縺ェ縺�ょ�繝阪う繝�ぅ繝� ECMAScript 繧ェ繝悶ず繧ァ繧ッ繝医� Date 繧ェ繝悶ず繧ァ繧ッ繝医r髯、縺阪√ヲ繝ウ繝医�谺�螯ゅr繝偵Φ繝� Number 縺御ク弱∴繧峨l縺溘h縺�↓謇ア縺�; Date 繧ェ繝悶ず繧ァ繧ッ繝医�縲√ヲ繝ウ繝医�谺�螯ゅr繝偵Φ繝� String 縺御ク弱∴繧峨l縺溘h縺�↓謇ア縺��
繝帙せ繝医が繝悶ず繧ァ繧ッ繝医�縲√ヲ繝ウ繝医�谺�螯ゅr莉悶�譁ケ豕輔〒謇ア縺」縺ヲ繧医>縲�
逕滓�隕丞援 AdditiveExpression : AdditiveExpression - MultiplicativeExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
謨ー蝙九� 2 蛟九�鬆�↓驕ゥ逕ィ縺輔l繧九→縺阪� + 貍皮ョ怜ュ舌�蜉�豕輔r陦後>縲����蜥後r逕滓�縺吶k縲�
- 貍皮ョ怜ュ舌�貂帶ウ輔r陦後>縲� 2 蛟九�謨ー鬆��蟾ョ繧堤函謌舌☆繧九�
蜉�豕輔�蜿ッ謠帷噪貍皮ョ� (commutative operation) 縺ァ縺ゅk縺後∝クク縺ォ邨仙粋逧� (associative) 縺ィ縺�≧縺薙→縺ァ縺ッ縺ェ縺��
蜉�豕輔�邨先棡縺ッ縲� IEEE 754 蛟咲イセ蠎ヲ險育ョ苓ヲ丞援繧剃スソ逕ィ縺励※豎コ螳壹&繧後k:
謨ー蝙九� 2 蛟九�鬆�↓驕ゥ逕ィ縺輔l繧九→縺阪� - 貍皮ョ怜ュ舌�貂帶ウ輔r陦後>縲����蟾ョ繧堤函謌舌☆繧�; 蟾ヲ鬆�′陲ォ貂帶焚縺ァ縲∝承鬆�′貂帶焚縺ァ縺ゅk縲よ焚鬆� a 縺ィ b 繧剃ク弱∴繧峨l繧九→縲∝クク縺ォ a-b 縺ッ a+(-b) 縺ィ蜷後§邨先棡繧堤函謌舌☆繧九�
蜿ウ鬆�〒謖�ョ壹&繧後k驥上↓繧医j縲∝キヲ鬆�ク翫↓繝薙ャ繝亥ケ�キヲ繧キ繝輔ヨ貍皮ョ励r陦後≧縲�
逕滓�隕丞援 ShiftExpression : ShiftExpression << AdditiveExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
蜿ウ鬆�〒謖�ョ壹&繧後k驥上↓繧医j縲∝キヲ鬆�ク翫↓隨ヲ蜿キ繧剃シエ縺�ン繝�ヨ蟷�承繧キ繝輔ヨ貍皮ョ励r陦後≧縲�
逕滓�隕丞援 ShiftExpression : ShiftExpression >> AdditiveExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
蜿ウ鬆�〒謖�ョ壹&繧後k驥上↓繧医j縲∝キヲ鬆�ク翫↓ 0 繧剃シエ縺�ン繝�ヨ蟷�承繧キ繝輔ヨ貍皮ョ励r陦後≧縲�
逕滓�隕丞援 ShiftExpression : ShiftExpression >>> AdditiveExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
instanceof
ShiftExpressionin
ShiftExpressioninstanceof
ShiftExpressionNOTE NoIn 螟牙喧蠖「縺ッ縲’or 譁��荳ュ縺ョ in
貍皮ョ怜ュ舌r蜷ォ繧髢「菫ょシ丞�縺ョ in
貍皮ョ怜ュ舌�豺キ荵ア縺ョ蝗樣∩縺ォ蠢�ヲ√〒縺ゅk縲�
髢「菫よシ皮ョ怜ュ舌�隧穂セ。縺ョ邨先棡縺ッ蟶ク縺ォ Boolean 蝙九〒縺ゅj縲∵シ皮ョ怜ュ舌↓蜷阪▼縺代i繧後◆髢「菫ゅ′縺昴� 2 鬆�俣縺ォ邯ュ謖√&繧後※縺�k縺九←縺�°繧貞渚譏�縺吶k縲�
RelationalExpressionNoIn 逕滓�隕丞援縺ッ RelationalExpression 逕滓�隕丞援縺ィ蜷梧ァ倥↓隧穂セ。縺輔l繧九′縲∝�驛ィ縺ョ RelationalExpression 縺ョ莉」繧上j縺ォ縲ヽelationalExpressionNoIn 縺瑚ゥ穂セ。縺輔l繧九�
逕滓�隕丞援 RelationalExpression : RelationalExpression < ShiftExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 RelationalExpression : RelationalExpression > ShiftExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 RelationalExpression : RelationalExpression <= ShiftExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 RelationalExpression : RelationalExpression >= ShiftExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
x 縺ィ y 繧貞、縺ィ縺励※縲∵ッ碑シ� x < y 縺ッ縲� true, false, 縺セ縺溘� undefined 繧堤函謌舌☆繧� (蟆代↑縺上→繧ゆク譁ケ縺ョ鬆�′ NaN 縺ァ縺ゅk縺薙→繧堤、コ縺�)縲� 縺薙�豈碑シ��谺。縺ョ繧医≧縺ォ螳溯。後&繧後k:
NOTE 譁�ュ怜�豈碑シ��縲∝腰邏斐↑霎樊嶌逧�コ丞�繧偵さ繝シ繝峨�繧、繝ウ繝亥、縺ョ繧キ繝シ繧ア繝ウ繧ケ縺ョ蛟、縺ォ逕ィ縺�k縲よ枚蟄励d譁�ュ怜�縺ョ遲我セ。諤ァ縲√♀繧医� Unicode 莉墓ァ� 縺ァ螳夂セゥ縺輔l繧矩��コ上�辣ァ蜷医�縲√%繧御サ・荳願、�尅縺ァ諢丞袖隲也噪縺ォ謖�髄縺励◆螳夂セゥ繧堤畑縺�k隧ヲ縺ソ縺ッ縺ェ縺�ゅ◎繧後f縺医� Unicode 讓呎コ悶↓繧医▲縺ヲ隕乗コ也噪縺ォ遲峨@縺�枚蟄怜�縺御ク咲ュ我セ。縺ィ讀懈渊縺輔l繧九°繧ゅ@繧後↑縺�ょ柑譫懊↓縺翫>縺ヲ縺薙�繧「繝ォ繧エ繝ェ繧コ繝�縺ッ縲∝曙譁ケ縺ョ譁�ュ怜�縺梧里縺ォ豁」隕丞喧蠖「蠑上〒縺ゅk縺薙→繧呈Φ螳壹☆繧九�
逕滓�隕丞援 RelationalExpression: RelationalExpression instanceof
ShiftExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 RelationalExpression : RelationalExpression in
ShiftExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
遲我セ。貍皮ョ怜ュ占ゥ穂セ。縺ョ邨先棡縺ッ蟶ク縺ォ Boolean 蝙九〒縺ゅj縲∵シ皮ョ怜ュ舌〒遉コ縺輔l繧矩未騾」諤ァ縺� 2 鬆�俣縺ァ邯ュ謖√&繧後※縺�k縺九←縺�°繧貞渚譏�縺吶k縲�
EqualityExpressionNoIn 逕滓�隕丞援縺ッ EqualityExpression 逕滓�隕丞援縺ィ蜷梧ァ倥↓隧穂セ。縺輔l繧九′縲∝�驛ィ縺ョ EqualityExpression 縺ィ RelationalExpression 縺ョ莉」繧上j縺ォ縲√◎繧後◇繧� EqualityExpressionNoIn 縺ィ RelationalExpressionNoIn 縺瑚ゥ穂セ。縺輔l繧九�
逕滓�隕丞援 EqualityExpression : EqualityExpression == RelationalExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 EqualityExpression : EqualityExpression != RelationalExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
x 縺ィ y 繧貞、縺ィ縺吶k豈碑シ� x==y 縺ッ縲� true 縺セ縺溘� false 繧堤函謌舌☆繧九よャ。縺ョ繧医≧縺ォ豈碑シ��螳溯。後&繧後k:
NOTE 遲我セ。縺ョ荳翫�螳夂セゥ繧剃ク弱∴繧峨l繧�:
"" + a == "" + b 縺ァ譁�ュ怜�豈碑シ�r蠑キ蛻カ縺ァ縺阪k縲�
a - 0 == b - 0 縺ァ謨ー蛟、豈碑シ�r蠑キ蛻カ縺ァ縺阪k縲�
!a == !b 縺ァ逵溷⊃豈碑シ�r蠑キ蛻カ縺ァ縺阪k縲�
遲我セ。貍皮ョ怜ュ舌�谺。縺ョ invariants 繧堤カュ謖√☆繧�:
遲我セ。貍皮ョ怜ュ舌�蟶ク縺ォ騾夐℃ (transitive) 縺ァ縺ッ縺ェ縺�ゆセ九∴縺ー縲∝酔縺俶枚蟄怜�蛟、繧偵≠繧峨o縺� 2 蛟九�蛹コ蛻・縺輔l繧� String 繧ェ繝悶ず繧ァ繧ッ繝医′蟄伜惠蜿ッ閭ス縺ァ縺ゅk; 縺昴l縺槭l縺ョ String 繧ェ繝悶ず繧ァ繧ッ繝医� == 貍皮ョ怜ュ舌↓繧医▲縺ヲ譁�ュ怜�蛟、縺檎ュ峨@縺�→縺ッ閠�∴繧峨l繧九′縲� 2 蛟九� String 繧ェ繝悶ず繧ァ繧ッ繝医�莠偵>縺ォ遲我セ。縺ォ縺ッ縺ェ繧峨↑縲�
譁�ュ怜�豈碑シ��縲√さ繝シ繝峨�繧、繝ウ繝亥、縺ョ繧キ繝シ繧ア繝ウ繧ケ縺ョ蛟、縺ォ蜊倡エ斐↑遲我セ。讀懈渊繧剃スソ逕ィ縺吶k縲よ枚蟄励d譁�ュ怜�縺ョ遲我セ。諤ァ縲√♀繧医� Unicode 2.0 莉墓ァ� 縺ァ螳夂セゥ縺輔l繧矩��コ上�辣ァ蜷医�縲√h繧願、�尅縺ァ諢丞袖隲也噪縺ォ謖�髄縺励◆螳夂セゥ繧堤畑縺�k隧ヲ縺ソ縺ッ縺ェ縺�ゅ◎繧後f縺医� Unicode 讓呎コ悶↓繧医▲縺ヲ隕乗コ也噪縺ォ遲峨@縺�枚蟄怜�縺御ク咲ュ我セ。縺ィ讀懈渊縺輔l繧九°繧ゅ@繧後↑縺�ょ柑譫懊↓縺翫>縺ヲ縺薙�繧「繝ォ繧エ繝ェ繧コ繝�縺ッ縲∝曙譁ケ縺ョ譁�ュ怜�縺梧里縺ォ豁」隕丞喧蠖「蠑上〒縺ゅk縺薙→繧呈Φ螳壹☆繧九�
逕滓�隕丞援 EqualityExpression : EqualityExpression === RelationalExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 EqualityExpression : EqualityExpression !== RelationalExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
x 縺ィ y 繧貞、縺ィ縺励※縲∵ッ碑シ� x === y 縺ッ true 縺セ縺溘� false 繧堤函謌舌☆繧九ゅ◎縺ョ繧医≧縺ェ豈碑シ��谺。縺ョ繧医≧縺ォ陦後o繧後k:
@ 縺ョ縺ィ縺薙m繧剃ク翫�逕滓�隕丞援縺ョ繝薙ャ繝域シ皮ョ怜ュ舌→縺励※縲∫函謌占ヲ丞援 A : A @ B 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 LogicalANDExpression : LogicalANDExpression && BitwiseORExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 LogicalORExpression : LogicalORExpression || LogicalANDExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
LogicalANDExpressionNoIn 逕滓�隕丞援縺ィ LogicalORExpressionNoIn 逕滓�隕丞援縺ッ縲� LogicalANDExpression 逕滓�隕丞援縺ィ LogicalORExpression 逕滓�隕丞援縺ィ蜷梧ァ倥↓隧穂セ。縺輔l繧九′縲∝�驛ィ縺ョ LogicalANDExpression, BitwiseORExpression, LogicalORExpression, 縺ョ莉」繧上j縺ォ縲√◎繧後◇繧� LogicalANDExpressionNoIn, BitwiseORExpressionNoIn, LogicalORExpressionNoIn 縺瑚ゥ穂セ。縺輔l繧九�
NOTE && 貍皮ョ怜ュ舌√∪縺� || 貍皮ョ怜ュ舌�逕滓�縺吶k蛟、縺� Boolean 蝙九〒縺ゅk蠢�ヲ√�縺ェ縺�ら函謌舌&繧後k蛟、縺ッ蟶ク縺ォ縲� 2 蛟九�鬆�シ上�縺�■縺ョ 1 縺、縺ョ蛟、縺ァ縺ゅk縲�.
逕滓�隕丞援 ConditionalExpression : LogicalORExpression ? AssignmentExpression : AssignmentExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
ConditionalExpressionNoIn 逕滓�隕丞援縺ッ縲� ConditionalExpression 逕滓�隕丞援縺ィ蜷梧ァ倥↓隧穂セ。縺輔l繧九′縲∝�驛ィ縺ョ LogicalORExpression, 1 縺、逶ョ縺ョ AssignmentExpression, 2 縺、逶ョ縺ョ AssignmentExpression, 縺ョ莉」繧上j縺ォ縲√◎繧後◇繧� LogicalORExpressionNoIn, AssignmentExpression, AssignmentExpressionNoIn 縺瑚ゥ穂セ。縺輔l繧九�
NOTE ECMAScript 縺ォ縺翫¢繧� ConditionalExpression 縺ョ譁�ウ輔�縲� C 縺翫h縺ウ JAVA 縺ィ縺ッ闍・蟷イ逡ー縺ェ繧翫� 2 縺、逶ョ縺ョ驛ィ蛻�シ上′ Expression 縺ァ縺ゅk縺薙→繧偵◎繧後◇繧瑚ィア蜿ッ縺吶k縺後� 3 縺、逶ョ縺ョ蠑上′ ConditionalExpression 縺ァ縺ゅk縺薙→繧貞宛髯舌☆繧九� ECMAScript 縺ォ縺翫¢繧九%縺ョ蟾ョ逡ー縺ッ縲� 莉」蜈・蠑上′縺ゥ縺。繧峨�譚。莉カ縺ォ繧ょキヲ蜿ウ縺輔l繧九%縺ィ繧定ィア蜿ッ縺励∵キキ荵ア縺ィ荳ュ螟ョ蠑上′繧ォ繝ウ繝槫シ上〒縺ゅk繧医≧縺ェ縺ゅ∪繧頑э蜻ウ縺ョ縺ェ縺�こ繝シ繧ケ繧定��縺励↑縺�%縺ィ繧貞虚讖溘→縺励※縺�k縲�
AssignmentExpressionNoIn 逕滓�隕丞援縺ッ縲� AssignmentExpression 縺ィ蜷梧ァ倥↓隧穂セ。縺輔l繧九′縲� AssignmentExpression 縺ォ蜷ォ縺セ繧後k ConditionalExpression 縺ィ AssignmentExpression 縺ョ莉」繧上j縺ォ ConditionalExpressionNoIn 蜿翫� AssignmentExpressionNoIn 縺後◎繧後◇繧瑚ゥ穂セ。縺輔l繧九�
逕滓�隕丞援 AssignmentExpression : LeftHandSideExpression = AssignmentExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
@ 縺ョ縺ィ縺薙m縺ッ荳翫↓遉コ縺励◆貍皮ョ怜ュ舌�荳縺、繧偵≠繧峨o縺咏函謌占ヲ丞援 AssignmentExpression : LeftHandSideExpression @ = AssignmentExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
逕滓�隕丞援 Expression : Expression , AssignmentExpression 縺ッ縲∵ャ。縺ョ繧医≧縺ォ隧穂セ。縺輔l繧�:
ExpressionNoIn 逕滓�隕丞援縺ッ縲� Expression 逕滓�隕丞援縺ィ蜷梧ァ倥↓隧穂セ。縺輔l繧九′縲� Expression 縺ィ AssignmentExpression, 縺ョ莉」繧上j縺ォ縲√◎繧後◇繧� ExpressionNoIn 縺ィ AssignmentExpressionNoIn 縺瑚ゥ穂セ。縺輔l繧九�