譛ャ鬆√�逶ョ谺。 逶ョ谺。 谺。鬆�: 15-1_Global_Object 蜑埼��: 14_Program
ECMAScript 繝励Ο繧ー繝ゥ繝�螳溯。碁幕蟋区凾縺ォ縺�▽縺ァ繧ょ茜逕ィ蜿ッ閭ス縺ェ遒コ螳溘↑邨�セシ縺ソ繧ェ繝悶ず繧ァ繧ッ繝医′縺ゅk縲ゆク縺、縺ッ縲√げ繝ュ繝シ繝舌Ν繧ェ繝悶ず繧ァ繧ッ繝医〒縺ゅj縲∝ョ溯。後�繝ュ繧ー繝ゥ繝�縺ョ繧ケ繧ウ繝シ繝励メ繧ァ繝シ繝ウ縺ォ蜈・縺」縺ヲ縺�k縲ゆサ悶√げ繝ュ繝シ繝舌Ν繧ェ繝悶ず繧ァ繧ッ繝医�蛻晄悄繝励Ο繝代ユ繧」縺ォ繧「繧ッ繧サ繧ケ蜿ッ閭ス縺ァ縺ゅk縲�
莉悶↓螳夂セゥ縺輔l縺ェ縺代l縺ー縲� [[Call]] 繝励Ο繝代ユ繧」繧呈戟縺、邨�セシ縺ソ繧ェ繝悶ず繧ァ繧ッ繝医� [[Class]] 繝励Ο繝代ユ繧」縺ッ "Function" 縺ァ縺ゅj縲� [[Call]] 繝励Ο繝代ユ繧」繧呈戟縺溘↑縺�オ�セシ縺ソ繧ェ繝悶ず繧ァ繧ッ繝医� [[Class]] 繝励Ο繝代ユ繧」縺ッ "Object" 縺ァ縺ゅk縲�
螟壹¥縺ョ邨�セシ縺ソ繧ェ繝悶ず繧ァ繧ッ繝医�髢「謨ー\縺ァ縺ゅk: 縺昴l繧峨�蠑墓焚繧偵▽縺代※蜻シ縺ウ蜃コ縺吶%縺ィ縺後〒縺阪k縲ゅ∪縺溘>縺上▽縺九�繧ウ繝ウ繧ケ繝医Λ繧ッ繧ソ縺ァ繧ゅ≠繧�: 縺昴l繧峨� new
貍皮ョ怜ュ舌r繧剃シエ縺�スソ逕ィ繧呈э蝗ウ縺輔l縺ヲ縺�k縲ゅ%縺ョ莉墓ァ倥�縲∝推邨�セシ縺ソ髢「謨ー縺斐→縺ォ縲�未謨ー縺瑚ヲ∵アゅ☆繧句シ墓焚縺ィ縺昴� Function 繧ェ繝悶ず繧ァ繧ッ繝医�繝励Ο繝代ユ繧」繧定ィ倩ソー縺吶k縲ょ推邨�セシ縺ソ繧ウ繝ウ繧ケ繝医Λ繧ッ繧ソ縺斐→縺ォ縲√%縺ョ莉墓ァ倥�縲√◎縺ョ繧ウ繝ウ繧ケ繝医Λ繧ッ繧ソ縺ョ prototype 繧ェ繝悶ず繧ァ繧ッ繝医�繝励Ο繝代ユ繧」縺ィ縲√さ繝ウ繧ケ繝医Λ繧ッ繧ソ繧貞他縺ウ蜃コ縺� new
蠑上↓繧医▲縺ヲ霑斐&繧後k繧ェ繝悶ず繧ァ繧ッ繝医う繝ウ繧ケ繧ソ繝ウ繧ケ縺ョ繝励Ο繝代ユ繧」繧りィ倩ソー縺吶k縲�
蛟九��髢「謨ー縺ョ隱ャ譏惹クュ縺ァ莉悶↓螳夂セゥ縺輔l縺ェ縺代l縺ー縲√%縺ョ繧サ繧ッ繧キ繝ァ繝ウ縺ァ險倩ソー縺吶k髢「謨ー縺セ縺溘�繧ウ繝ウ繧ケ繝医Λ繧ッ繧ソ縺碁未謨ー縺瑚ヲ∵アゅ☆繧九→螳夂セゥ縺輔l縺ヲ縺�k繧医j繧ょー代↑縺�シ墓焚繧剃ク弱∴繧峨l縺溷�エ蜷医√◎縺ョ蠑墓焚繧偵◎繧後◇繧� undefined 縺ィ縺励※蜊∝�縺ェ霑ス蜉�蠑墓焚繧剃ク弱∴繧峨l縺溘°縺ョ繧医≧縺ォ謖ッ闊槭≧縲�
蛟九��髢「謨ー縺ョ隱ャ譏惹クュ縺ァ莉悶↓螳夂セゥ縺輔l縺ェ縺代l縺ー縲√%縺ョ繧サ繧ッ繧キ繝ァ繝ウ縺ァ險倩ソー縺吶k髢「謨ー縺セ縺溘�繧ウ繝ウ繧ケ繝医Λ繧ッ繧ソ縺碁未謨ー縺瑚ィア縺吶→螳夂セゥ縺輔l縺ヲ縺�k繧医j繧ょ、壹¥蠑墓焚繧剃ク弱∴繧峨l縺溷�エ蜷医√◎縺ョ謖ッ繧玖�縺��螳夂セゥ縺励↑縺�るΚ蛻�噪縺ォ縲∝ョ溯」��縺薙�繧ア繝シ繧ケ縺ョ萓句、� TypeError 繧呈兜縺偵k縺薙→繧定ィア縺輔l繧�(縺後∝ソ��医〒縺ッ縺ェ縺�)縲�
邨�∩霎シ縺ソ髢「謨ー縺ョ繧サ繝�ヨ縺ォ讖溯�繧定ソス蜉�縺吶k螳溯」��縲∵里蟄倥�髢「謨ー縺ク縺ョ譁ー隕上ヱ繝ゥ繝。繝シ繧ソ霑ス蜉�繧医j繧よ眠隕城未謨ー縺ョ霑ス蜉�縺ォ繧医j縺昴l繧定。後≧縺薙→繧貞・ィ蜉ア縺吶k縲�
蜷�オ�セシ縺ソ髢「謨ー縺ィ蜷�オ�セシ縺ソ繧ウ繝ウ繧ケ繝医Λ繧ッ繧ソ縺ッ Function prototype 繧ェ繝悶ず繧ァ繧ッ繝医r謖√■縲√◎縺ョ蜀�Κ [[Prototype]] 繝励Ο繝代ユ繧」縺ョ蛻晄悄蛟、縺ィ縺励※縲∝シ� Function.prototype (15.3.2.1) 縺ョ蛟、繧呈戟縺、縲�
蜷�オ�セシ縺ソ prototype 繧ェ繝悶ず繧ァ繧ッ繝医� Object prototype 繧ェ繝悶ず繧ァ繧ッ繝医r謖√■縲^bject prototype 繧ェ繝悶ず繧ァ繧ッ繝郁�霄ォ莉・螟悶�縲√◎縺ョ蜀�Κ [[Prototype]] 繝励Ο繝代ユ繧」縺ョ蛟、縺ィ縺励※蛻晄悄縺ッ蠑� Object.prototype (15.3.2.1) 縺ョ蛟、繧呈戟縺、縲�
縺薙�繧サ繧ッ繧キ繝ァ繝ウ縺ァ險倩ソー縺輔l繧九←縺ョ邨�∩霎シ縺ソ髢「謨ー繧ゅ∝九��髢「謨ー縺ョ險倩ソー縺ォ迚ケ縺ォ謖�ョ壹′縺ェ縺�剞繧翫�縲∝�驛ィ [[Construct]] 繝。繧ス繝�ラ繧貞ョ溯」�☆縺ケ縺阪〒縺ッ縺ェ縺�ゅ%縺ョ繧サ繧ッ繧キ繝ァ繝ウ縺ァ險倩ソー縺輔l繧九←縺ョ邨�∩霎シ縺ソ髢「謨ー繧ゅ∝九��髢「謨ー縺ョ險倩ソー縺ォ迚ケ縺ォ謖�ョ壹′縺ェ縺�剞繧翫�縲∝�譛� prototype 繝励Ο繝代ユ繧」繧呈戟縺、縺ケ縺阪〒縺ッ縺ェ縺�ゅ%縺ョ繧サ繧ッ繧キ繝ァ繝ウ縺ァ險倩ソー縺輔l繧狗オ�∩霎シ縺ソ髢「謨ー縺ッ縺ソ縺ェ -- 繧ウ繝ウ繧ケ繝医Λ繧ッ繧ソ繧る壼クク縺ョ髢「謨ー繧� -- 謨エ謨ー縺ョ length 繝励Ο繝代ユ繧」繧呈戟縺、縲ゅ→縺上↓謖�ョ壹′縺ェ縺代l縺ー縲√%縺ョ蛟、縺ッ縲�未謨ー隱ャ譏弱�繧サ繧ッ繧キ繝ァ繝ウ縺ョ隕句�縺励↓遉コ縺輔l繧矩∈謚樒噪繝代Λ繝。繝シ繧ソ繧貞性繧蜷榊燕縺ョ莉倥>縺溷シ墓焚縺ョ譛螟ァ謨ー縺ォ遲峨@縺��
NOTE 萓九∴縺ー縲� String prototype 繧ェ繝悶ず繧ァ繧ッ繝医� slice 繝励Ο繝代ユ繧」縺ョ蛻晄悄蛟、縺ァ縺ゅk Function 繧ェ繝悶ず繧ァ繧ッ繝医�縲� 2 縺、縺ョ蜷榊燕縺、縺榊シ墓焚 start 縺ィ end 繧堤、コ縺吶そ繧ッ繧キ繝ァ繝ウ隕句�縺� "String.prototype.slice (start , end)" 縺ョ荳九↓險倩ソー縺輔l繧九ゅ◎繧後f縺医◎縺ョ Function 繧ェ繝悶ず繧ァ繧ッ繝医� length 繝励Ο繝代ユ繧」縺ッ 2 縺ィ縺ェ繧九�
蜷�こ繝シ繧ケ縺ォ縺翫>縺ヲ縲√%縺ョ繧サ繧ッ繧キ繝ァ繝ウ縺ァ險倩ソー縺吶k邨�セシ縺ソ Function 繧ェ繝悶ず繧ァ繧ッ繝医� length 繝励Ο繝代ユ繧」縺ッ縲∝ア樊ァ { ReadOnly, DontDelete, DontEnum } 縺ァ縺ゅk (縺昴@縺ヲ莉悶↓縺ッ縺ェ縺�)縲ゅ%縺ョ繧サ繧ッ繧キ繝ァ繝ウ縺ァ險倩ソー縺吶k莉悶�繝励Ο繝代ユ繧」縺ッ縺昴l縺槭l縲√→縺上↓謖�ョ壹′縺ェ縺代l縺ー縲∝ア樊ァ { DontEnum } (縺昴@縺ヲ莉悶↓縺ッ縺ェ縺�) 縺ァ縺ゅk縲�