譛ャ鬆√�逶ョ谺。 逶ョ谺。 谺。鬆�: 15-5_String_Objects 蜑埼��: 15-3_Function_Objects
Array 繧ェ繝悶ず繧ァ繧ッ繝医�繝励Ο繝代ユ繧」蜷阪�繧ッ繝ゥ繧ケ縺ォ迚ケ蛻・縺ェ謇ア縺�r荳弱∴繧九ゅ�繝ュ繝代ユ繧」蜷� P (譁�ュ怜�蛟、蠖「蠑�) 縺ッ縲ゝoString(ToUint32(P)) 縺ィ P 縺檎ュ峨@縺上√°縺、 ToUint32(P) 縺ィ 232-1 縺檎ュ峨@縺上↑縺��エ蜷医��蛻励�繧、繝ウ繝�ャ繧ッ繧ケ縺ァ縺ゅj縲√°縺、縺薙�蝣エ蜷医↓髯舌i繧後k縲ょ推 Array 繧ェ繝悶ず繧ァ繧ッ繝医� length 繝励Ο繝代ユ繧」繧呈戟縺。縲√◎縺ョ蛟、縺ッ蟶ク縺ォ 232 譛ェ貅縺ョ雋�縺ァ縺ェ縺�紛謨ー\縺ァ縺ゅk縲Mength 繝励Ο繝代ユ繧」縺ョ蛟、縺ッ驟榊�縺ョ繧、繝ウ繝�ャ繧ッ繧ケ縺ァ縺ゅk蜷��繝ュ繝代ユ繧」蜷阪h繧翫b謨ー蛟、逧�↓螟ァ縺阪>; Array 繧ェ繝悶ず繧ァ繧ッ繝医�繝励Ο繝代ユ繧」縺御ス懈�縺セ縺溘�螟画峩縺輔l繧九→縺阪�縲∽サ悶�繝励Ο繝代ユ繧」縺後%縺ョ荳榊、峨r邯ュ謖√☆繧句ソ�ヲ√°繧峨>縺、縺ァ繧りェソ謨エ縺輔l繧九ら音蛻・縺ォ縲��蛻励�繧、繝ウ繝�ャ繧ッ繧ケ縺ョ繝励Ο繝代ユ繧」縺瑚ソス蜉�縺輔l繧九→縺阪�縺�▽縺ァ繧ゅ〕ength 繝励Ο繝代ユ繧」縺ッ螟画峩縺輔l縲∝ソ�ヲ√〒縺ゅl縺ー縲��蛻励�繧、繝ウ繝�ャ繧ッ繧ケ縺ョ謨ー蛟、逧�↑蛟、繧医j螟ァ縺阪¥縺ェ繧�; 縺昴@縺ヲ length 繝励Ο繝代ユ繧」縺悟、画峩縺輔l繧九→縺�▽縺ァ繧ゅ∵眠縺励> length 莉・荳翫�蛟、縺ョ驟榊�繧、繝ウ繝�ャ繧ッ繧ケ縺ョ蜷��繝ュ繝代ユ繧」縺ッ閾ェ蜍慕噪縺ォ蜑企勁縺輔l繧九ゅ%縺ョ蛻カ邏�� Array 繧ェ繝悶ず繧ァ繧ッ繝郁�霄ォ縺ョ繝励Ο繝代ユ繧」縺ォ縺ョ縺ソ驕ゥ逕ィ縺輔l縲〕ength 繧�◎縺ョ prototype 縺九i邯呎価縺輔l縺�k驟榊�繧、繝ウ繝�ャ繧ッ繧ケ繝励Ο繝代ユ繧」縺ォ繧医▲縺ヲ縺ッ蠖ア髻ソ縺輔l縺ェ縺��
Array 縺後さ繝ウ繧ケ繝医Λ繧ッ繧ソ縺ィ縺励※縺ァ縺ッ縺ェ縺城未謨ー縺ィ縺励※蜻シ蜃コ縺輔l繧九↑繧峨�縲∵眠隕上↓ Array 繧ェ繝悶ず繧ァ繧ッ繝医r逕滓�縺励※蛻晄悄蛹悶☆繧九る未謨ー蜻シ蜃コ縺� Array(...) 縺ッ縲∝酔縺伜シ墓焚繧呈戟縺、繧ェ繝悶ず繧ァ繧ッ繝育函謌仙シ� new
Array(...) 縺ィ遲我セ。縺ァ縺ゅk縲�
Array 髢「謨ー縺悟他蜃コ縺輔l繧九→縲∵ャ。縺ョ繧ケ繝�ャ繝励′蜿悶i繧後k:
Array 縺� new
蠑上�荳驛ィ縺ィ縺励※蜻シ蜃コ縺輔l繧九→縺阪√◎繧後�繧ウ繝ウ繧ケ繝医Λ繧ッ繧ソ縺ァ縺ゅk; 譁ー隕上↓逕滓�縺励◆繧ェ繝悶ず繧ァ繧ッ繝医r蛻晄悄蛹悶☆繧九�
縺薙�隱ャ譏弱�縲∝シ墓焚繧剃ク弱∴繧峨l縺ェ縺�°縲� 2 縺、莉・荳贋ク弱∴繧峨l繧� Array 繧ウ繝ウ繧ケ繝医Λ繧ッ繧ソ縺ォ驕ゥ逕ィ縺吶k縲�
譁ー隕上↓讒狗ッ峨&繧後◆繧ェ繝悶ず繧ァ繧ッ繝医� [[Prototype]] 繝励Ο繝代ユ繧」縺ッ縲� Array.prototype 縺ョ蛻晄悄蛟、 (縺帙¥縺励g繧� 15.4.3.1) 縺ァ縺ゅk縲√が繝ェ繧ク繝翫Ν縺ョ Array 繝励Ο繝医ち繧、繝励が繝悶ず繧ァ繧ッ繝医↓險ュ螳壹&繧後k縲�
譁ー隕上↓讒狗ッ峨&繧後◆繧ェ繝悶ず繧ァ繧ッ繝医� [[Class]] 繝励Ο繝代ユ繧」縺ッ縲� "Array" 縺ォ險ュ螳壹&繧後k縲よ眠隕上↓讒狗ッ峨&繧後◆繧ェ繝悶ず繧ァ繧ッ繝医� length 繝励Ο繝代ユ繧」縺ッ縲∝シ墓焚縺ョ謨ー縺ォ險ュ螳壹&繧後k縲�
譁ー隕上↓讒狗ッ峨&繧後◆繧ェ繝悶ず繧ァ繧ッ繝医� 0 繝励Ο繝代ユ繧」縺ッ縲� (萓帷オヲ縺輔l縺�) item0 縺ォ險ュ螳壹&繧後k; 譁ー隕上↓讒狗ッ峨&繧後◆繧ェ繝悶ず繧ァ繧ッ繝医� 1 繝励Ο繝代ユ繧」縺ッ縲�(繧ゅ@萓帷オヲ縺輔l繧後�) item1 縺ォ險ュ螳壹&繧後k; 縺昴@縺ヲ縲∽ク闊ャ縺ォ縲√◎縺薙↓縺ゅk縺ョ縺ィ蜷後§縺�縺代�蠑墓焚縺ォ蟇セ縺励※縲∵眠隕上↓讒狗ッ峨&繧後◆繧ェ繝悶ず繧ァ繧ッ繝医� k 繝励Ο繝代ユ繧」縺ッ縲∫ャャ荳蠑墓焚繧貞シ墓焚逡ェ蜿キ 0 縺ィ閠�∴縺ヲ蠑墓焚 k 縺ォ險ュ螳壹&繧後k縲�
譁ー隕上↓讒狗ッ峨&繧後k繧ェ繝悶ず繧ァ繧ッ繝医� [[Prototype]] 繝励Ο繝代ユ繧」縺ッ縲、rray.prototype (繧サ繧ッ繧キ繝ァ繝ウ 15.4.3.1) 縺ョ蛻晄悄蛟、縺ァ縺ゅk縲√が繝ェ繧ク繝翫Ν縺ョ Array 繝励Ο繝医ち繧、繝励が繝悶ず繧ァ繧ッ繝医↓險ュ螳壹&繧後k縲よ眠隕上↓讒狗ッ峨&繧後k繧ェ繝悶ず繧ァ繧ッ繝医� [[Class]] 繝励Ο繝代ユ繧」縺ッ "Array" 縺ォ險ュ螳壹&繧後k縲�
蠑墓焚 len 縺� Number 縺ァ縲√°縺、 ToUint32(len) 縺� len 縺ィ遲峨@縺代l縺ー縲∵眠隕上↓讒狗ッ峨&繧後k繧ェ繝悶ず繧ァ繧ッ繝医� length 繝励Ο繝代ユ繧」縺ッ縲� ToUint32(len) 縺ォ險ュ螳壹&繧後k縲ょシ墓焚 len 縺� Number 縺ァ縲√°縺、 ToUint32(len) 縺� len 縺ィ遲峨@縺上↑縺代l縺ー縲∽セ句、� RangeError 縺梧兜縺偵i繧後k縲�
蠑墓焚 len 縺� Number 縺ァ縺ェ縺代l縺ー縲∵眠隕上↓讒狗ッ峨&繧後k繧ェ繝悶ず繧ァ繧ッ繝医� length 繝励Ο繝代ユ繧」縺ッ 1 縺ォ險ュ螳壹&繧後∵眠隕上↓讒狗ッ峨&繧後k繧ェ繝悶ず繧ァ繧ッ繝医� 0 繝励Ο繝代ユ繧」縺ッ縲� len 縺ォ險ュ螳壹&繧後k縲�
Array 繧ウ繝ウ繧ケ繝医Λ繧ッ繧ソ縺ョ蜀�Κ [[Prototype]] 繝励Ο繝代ユ繧」縺ョ蛟、縺ッ縲� Function 繝励Ο繝医ち繧、繝励が繝悶ず繧ァ繧ッ繝� (繧サ繧ッ繧キ繝ァ繝ウ 15.3.4) 縺ァ縺ゅk縲�
蜀�Κ繝励Ο繝代ユ繧」蜿翫� length 繝励Ο繝代ユ繧」 (蛟、縺ッ 1 ) 縺ョ莉悶↓縲、rray 繧ウ繝ウ繧ケ繝医Λ繧ッ繧ソ縺ッ谺。縺ョ繝励Ο繝代ユ繧」繧呈戟縺、:
Array.prototype 縺ョ蛻晄悄蛟、縺ッ Array 繝励Ο繝医ち繧、繝励が繝悶ず繧ァ繧ッ繝� (繧サ繧ッ繧キ繝ァ繝ウ 15.4.4) 縺ァ縺ゅk縲�
縺薙�繝励Ο繝代ユ繧」縺ッ縲∝ア樊ァ { DontEnum, DontDelete, ReadOnly } 縺ァ縺ゅk縲�
Array 繝励Ο繝医ち繧、繝励が繝悶ず繧ァ繧ッ繝医�蜀�Κ [[Prototype]] 繝励Ο繝代ユ繧」縺ョ蛟、縺ッ縲� Object 繝励Ο繝医ち繧、繝励が繝悶ず繧ァ繧ッ繝� (繧サ繧ッ繧キ繝ァ繝ウ 15.2.3.1) 縺ァ縺ゅk縲�
Array 繝励Ο繝医ち繧、繝励が繝悶ず繧ァ繧ッ繝医�縺昴l閾ェ霄ォ縺碁�蛻励〒縺ゅk; 縺昴� [[Class]] 縺ッ "Array" 縺ァ縲� length 繝励Ο繝代ユ繧」 (蛻晄悄蛟、縺ッ +0) 縺ィ繧サ繧ッ繧キ繝ァ繝ウ 15.4.5.1 縺ォ霑ー縺ケ繧狗音谿翫↑蜀�Κ [[Put]] 繝。繧ス繝�ラ繧呈戟縺、縲�
繝励Ο繝医ち繧、繝励が繝悶ず繧ァ繧ッ繝医�繝励Ο繝代ユ繧」縺ァ縺ゅk髢「謨ー縺ョ隱ャ譏弱↓縺翫>縺ヲ縲∽サ・髯阪ヵ繝ャ繝シ繧コ "縺薙�繧ェ繝悶ず繧ァ繧ッ繝�" 縺ッ髢「謨ー螳滓命縺ョ this
蛟、縺ァ縺ゅk繧ェ繝悶ず繧ァ繧ッ繝医r蜿ら�縺吶k縲ょ�驛ィ [[Class]] 繝励Ο繝代ユ繧」縺ョ蛟、縺� "Array" 縺ァ縺ェ縺�が繝悶ず繧ァ繧ッ繝医〒縺ゅk縺薙→縺� this
縺ォ險ア蜿ッ縺輔l繧九�
NOTE Array 繝励Ο繝医ち繧、繝励が繝悶ず繧ァ繧ッ繝医�迢ャ閾ェ縺ョ valueOf 繝励Ο繝代ユ繧」繧呈戟縺溘↑縺�; 縺�縺後� valueOf 繝励Ο繝代ユ繧」繧� Object 繝励Ο繝医ち繧、繝励が繝悶ず繧ァ繧ッ繝医°繧臥カ呎価縺吶k縲�
Array.prototype.constructor 縺ョ蛻晄悄蛟、縺ッ縲∫オ�セシ縺ソ Array 繧ウ繝ウ繧ケ繝医Λ繧ッ繧ソ縺ァ縺ゅk縲�
縺薙�髢「謨ー縺ョ蜻シ縺ウ蜃コ縺励�邨先棡縺ッ縲√%縺ョ繧ェ繝悶ず繧ァ繧ッ繝医↓邨�セシ縺ソ join 繝。繧ス繝�ラ繧貞シ墓焚辟。縺励〒蜻シ蜃コ縺吶�縺ィ蜷梧ァ倥〒縺ゅk縲�
toString
髢「謨ー縺ッ豎守畑逧�〒縺ッ縺ェ縺�; this
蛟、縺� Array 繧ェ繝悶ず繧ァ繧ッ繝医〒縺ェ縺代l縺ー縲∽セ句、� TypeError 繧呈兜縺偵k縲ゅ◎繧後f縺医∽サ悶�遞ョ鬘槭�繧ェ繝悶ず繧ァ繧ッ繝医↓繝。繧ス繝�ラ縺ィ縺励※霆「逕ィ縺ァ縺阪↑縺��
驟榊�隕∫エ�縺ッ toLocaleString
繝。繧ス繝�ラ縺ァ譁�ュ怜�縺ォ螟画鋤縺輔l縲√◎繧後i縺ョ譁�ュ怜�縺ッ騾」邨舌&繧後∝ョ溯」�′螳夂セゥ縺吶k繝ュ繧ア繝シ繝ォ迚ケ螳壹�譁ケ豕輔〒蠑輔″蜃コ縺輔l繧句�髮「蟄先枚蟄怜�縺ァ蛻�屬縺輔l繧九ゅ%縺ョ髢「謨ー縺ョ蜻シ蜃コ縺励�邨先棡縺ッ縲� toString 縺ョ邨先棡縺ォ鬘樔シシ縺吶k縺薙→縺梧э蝗ウ縺輔l繧九′縲√%縺ョ髢「謨ー縺ョ邨先棡縺ッ繝ュ繧ア繝シ繝ォ迚ケ螳壹〒縺ゅk縺薙→縺梧э蝗ウ縺輔l繧九�
邨先棡縺ッ谺。縺ョ繧医≧縺ォ險育ョ励&繧後k:
toLocaleString
() 繧貞他蜃コ縺吶�toLocaleString
() 繧貞他蜃コ縺吶�toLocaleString
髢「謨ー縺ッ豎守畑逧�〒縺ッ縺ェ縺�; this
蛟、縺� Array 繧ェ繝悶ず繧ァ繧ッ繝医〒縺ェ縺代l縺ー縲∽セ句、� TypeError 繧呈兜縺偵k縲� 縺昴l繧�∴縲∽サ悶�遞ョ鬘槭�繧ェ繝悶ず繧ァ繧ッ繝医↓繝。繧ス繝�ラ縺ィ縺励※霆「逕ィ縺ァ縺阪↑縺��
NOTE 縺薙�髢「謨ー縺ョ隨ャ荳繝代Λ繝。繝シ繧ソ縺ッ縲√%縺ョ讓呎コ悶�蟆�擂縺ョ繝舌�繧ク繝ァ繝ウ縺ァ菴ソ逕ィ縺輔l繧句庄閭ス諤ァ縺後≠繧�; 螳溯」��縺薙�繝代Λ繝。繝シ繧ソ繧剃サ悶�逕ィ騾斐↓菴ソ逕ィ縺励↑縺�%縺ィ繧呈耳螂ィ縺吶k縲�
concat
繝。繧ス繝�ラ縺� 0 蛟倶サ・荳翫�蠑墓焚 item1, item2, etc. 縺ァ蜻シ蜃コ縺輔l繧九→縲���↓蜷�シ墓焚縺ョ驟榊�隕∫エ�縺檎カ壹¥縲√が繝悶ず繧ァ繧ッ繝医�驟榊�隕∫エ�縺ァ讒区�縺輔l繧矩�蛻励r霑斐☆縲�
谺。縺ョ繧ケ繝�ャ繝励′蜿悶i繧後k:
new
Array() 縺ィ蜷梧ァ倥↓逕滓�縺輔l縺滓眠隕城�蛻励→縺吶k縲�concat
繝。繧ス繝�ラ縺ョ length 繝励Ο繝代ユ繧」縺ッ 1 縺ァ縺ゅk縲�
NOTE concat
髢「謨ー縺ッ謨�э縺ォ縺ォ豎守畑逧�〒縺ゅk; this
蛟、縺� Array 繧ェ繝悶ず繧ァ繧ッ繝医〒縺ゅk縺薙→繧定ヲ∵アゅ&繧後↑縺�ゅ◎繧後f縺医∽サ悶�遞ョ鬘槭�繧ェ繝悶ず繧ァ繧ッ繝医↓繝。繧ス繝�ラ縺ィ縺励※霆「逕ィ蜿ッ閭ス縺ァ縺ゅk縲� concat
髢「謨ー縺� host 繧ェ繝悶ず繧ァ繧ッ繝医↓縺�∪縺城←逕ィ縺ァ縺阪k縺九←縺�°縺ッ縲∝ョ溯」�セ晏ュ倥〒縺ゅk縲�
驟榊�隕∫エ�縺ッ譁�ュ怜�縺ォ螟画鋤縺輔l縲∵枚蟄怜�縺ッ騾」邨舌&繧後� separator 縺ァ蛻�屬縺輔l繧九� separator 縺梧署萓帙&繧後↑縺�↑繧峨�縲� 1 縺、縺ョ繧ォ繝ウ繝槭′ separator 縺ォ逕ィ縺�i繧後k縲�
join
繝。繧ス繝�ラ縺ッ蠑墓焚 separator 繧偵→繧翫∵ャ。縺ョ繧ケ繝�ャ繝励r螳溯。後☆繧�:
join
繝。繧ス繝�ラ縺ョ length 繝励Ο繝代ユ繧」縺ッ 1 縺ァ縺ゅk縲�
NOTE join
髢「謨ー縺ッ謨�э縺ォ豎守畑逧�〒縺ゅk; this
蛟、縺� Array 繧ェ繝悶ず繧ァ繧ッ繝医〒縺ゅk縺薙→繧定ヲ∵アゅ&繧後↑縺�ゅ◎繧後f縺医∽サ悶�遞ョ鬘槭�繧ェ繝悶ず繧ァ繧ッ繝医↓繝。繧ス繝�ラ縺ィ縺励※霆「逕ィ蜿ッ閭ス縺ァ縺ゅk縲� join
髢「謨ー縺� host 繧ェ繝悶ず繧ァ繧ッ繝医↓縺�∪縺城←逕ィ縺ァ縺阪k縺九←縺�°縺ッ縲∝ョ溯」�セ晏ュ倥〒縺ゅk縲�
驟榊�縺ョ譛蠕後�隕∫エ�縺碁�蛻励°繧牙叙繧企勁縺九l縲∬ソ斐&繧後k縲�
NOTE pop
髢「謨ー縺ッ謨�э縺ォ縺ォ豎守畑逧�〒縺ゅk; this
蛟、縺� Array 繧ェ繝悶ず繧ァ繧ッ繝医〒縺ゅk縺薙→繧定ヲ∵アゅ&繧後↑縺�ゅ◎繧後f縺医∽サ悶�遞ョ鬘槭�繧ェ繝悶ず繧ァ繧ッ繝医↓繝。繧ス繝�ラ縺ィ縺励※霆「逕ィ蜿ッ閭ス縺ァ縺ゅk縲� pop
髢「謨ー縺� host 繧ェ繝悶ず繧ァ繧ッ繝医↓縺�∪縺城←逕ィ縺ァ縺阪k縺九←縺�°縺ッ縲∝ョ溯」�セ晏ュ倥〒縺ゅk縲�
蠑墓焚縺悟�迴セ縺励◆鬆�↓驟榊�縺ョ譛ォ蟆セ縺ォ霑ス蜉�縺輔l繧九ょ他蜃コ縺励�邨先棡縺ィ縺励※縲∵眠縺励>驟榊�縺ョ髟キ縺輔′霑斐&繧後k縲�
push
繝。繧ス繝�ラ縺� 0 蛟倶サ・荳翫�蠑墓焚 item1, item2, etc. 縺ァ蜻シ蜃コ縺輔l繧九→縲∵ャ。縺ョ繧ケ繝�ャ繝励′蜿悶i繧後k:
push
繝。繧ス繝�ラ縺ョ length 繝励Ο繝代ユ繧」縺ッ 1 縺ァ縺ゅk縲�
NOTE push
髢「謨ー縺ッ謨�э縺ォ縺ォ豎守畑逧�〒縺ゅk; this
蛟、縺� Array 繧ェ繝悶ず繧ァ繧ッ繝医〒縺ゅk縺薙→繧定ヲ∵アゅ&繧後↑縺�ゅ◎繧後f縺医∽サ悶�遞ョ鬘槭�繧ェ繝悶ず繧ァ繧ッ繝医↓繝。繧ス繝�ラ縺ィ縺励※霆「逕ィ蜿ッ閭ス縺ァ縺ゅk縲� pust 髢「謨ー縺� host 繧ェ繝悶ず繧ァ繧ッ繝医↓縺�∪縺城←逕ィ縺ァ縺阪k縺九←縺�°縺ッ縲∝ョ溯」�セ晏ュ倥〒縺ゅk縲�
驟榊�隕∫エ�縺ッ鬆�コ上r騾�↓蜀咲キィ縺輔l繧九ょ他蜃コ縺励�邨先棡縺ィ縺励※繧ェ繝悶ず繧ァ繧ッ繝医′霑斐&繧後k縲�
NOTE reverse
髢「謨ー縺ッ謨�э縺ォ縺ォ豎守畑逧�〒縺ゅk; this
蛟、縺� Array 繧ェ繝悶ず繧ァ繧ッ繝医〒縺ゅk縺薙→繧定ヲ∵アゅ&繧後↑縺�ゅ◎繧後f縺医∽サ悶�遞ョ鬘槭�繧ェ繝悶ず繧ァ繧ッ繝医↓繝。繧ス繝�ラ縺ィ縺励※霆「逕ィ蜿ッ閭ス縺ァ縺ゅk縲� reverse
髢「謨ー縺� host 繧ェ繝悶ず繧ァ繧ッ繝医↓縺�∪縺城←逕ィ縺ァ縺阪k縺九←縺�°縺ッ縲∝ョ溯」�セ晏ュ倥〒縺ゅk縲�
驟榊�縺ョ譛蛻昴�隕∫エ�縺碁�蛻励°繧牙叙繧企勁縺九l縲∬ソ斐&繧後k縲�
NOTE shift
髢「謨ー縺ッ謨�э縺ォ縺ォ豎守畑逧�〒縺ゅk; this
蛟、縺� Array 繧ェ繝悶ず繧ァ繧ッ繝医〒縺ゅk縺薙→繧定ヲ∵アゅ&繧後↑縺�ゅ◎繧後f縺医∽サ悶�遞ョ鬘槭�繧ェ繝悶ず繧ァ繧ッ繝医↓繝。繧ス繝�ラ縺ィ縺励※霆「逕ィ蜿ッ閭ス縺ァ縺ゅk縲� shift
髢「謨ー縺� host 繧ェ繝悶ず繧ァ繧ッ繝医↓縺�∪縺城←逕ィ縺ァ縺阪k縺九←縺�°縺ッ縲∝ョ溯」�セ晏ュ倥〒縺ゅk縲�
slice
繝。繧ス繝�ラ縺ッ 2 縺、縺ョ蠑墓焚縲� start 縺ィ end 繧偵→繧翫∬ヲ∫エ� start 縺九i隕∫エ� end 縺ョ蜑阪∪縺ァ (縺セ縺溘�縲� end 縺� undefined 縺ェ繧峨�驟榊�縺ョ譛ォ蟆セ縺セ縺ァ) 縺ョ驟榊�隕∫エ�縺ァ讒区�縺輔l繧矩�蛻励r霑斐☆縲� start 縺瑚イ�縺ェ繧峨�縲� length 繧帝�蛻励�髟キ縺輔→縺励※縲�(length+start) 縺ィ縺励※謇ア繧上l繧九� end 縺瑚イ�縺ェ繧峨�縲〕ength 繧帝�蛻励�髟キ縺輔→縺励※ (length+end) 縺ィ縺励※謇ア繧上l繧九� 谺。縺ョ繧ケ繝�ャ繝励′蜿悶i繧後k:
new
Array() 縺ィ蜷梧ァ倥↓逕滓�縺励◆驟榊�縺ィ縺吶k縲�slice
繝。繧ス繝�ラ縺ョ length 繝励Ο繝代ユ繧」縺ッ 2 縺ァ縺ゅk縲�
NOTE slice
髢「謨ー縺ッ謨�э縺ォ縺ォ豎守畑逧�〒縺ゅk; this
蛟、縺� Array 繧ェ繝悶ず繧ァ繧ッ繝医〒縺ゅk縺薙→繧定ヲ∵アゅ&繧後↑縺�ゅ◎繧後f縺医∽サ悶�遞ョ鬘槭�繧ェ繝悶ず繧ァ繧ッ繝医↓繝。繧ス繝�ラ縺ィ縺励※霆「逕ィ蜿ッ閭ス縺ァ縺ゅk縲� slice
髢「謨ー縺� host 繧ェ繝悶ず繧ァ繧ッ繝医↓縺�∪縺城←逕ィ縺ァ縺阪k縺九←縺�°縺ッ縲∝ョ溯」�セ晏ュ倥〒縺ゅk縲�
驟榊�隕∫エ�縺ッ繧ス繝シ繝� (荳ヲ縺ケ譖ソ縺�) 縺輔l繧九ゅた繝シ繝医�蠢�★縺励b螳牙ョ夂噪縺ァ縺ッ縺ェ縺�(縺、縺セ繧翫∫ュ我セ。縺ィ豈碑シ�&繧後◆隕∫エ�縺悟�縺ョ鬆�〒谿九k縺ィ縺ッ髯舌i縺ェ縺�). comparefn 縺� undefined 縺ァ縺ェ縺�↑繧峨�縲√◎繧後� 2 蛟九�蠑墓焚 x 縺ィ y 繧貞女縺台サ倥¢縲� x < y 縺ェ繧峨�雋�縺ョ蛟、縲� x = y 縺ェ繧峨� 0縲� x > y 縺ェ繧峨�豁」縺ョ蛟、繧定ソ斐☆髢「謨ー縺ァ縺ゅk縺ケ縺阪〒縺ゅk縲�
comparefn 縺� undefined 縺ァ縺ェ縺上√°縺、 縺薙�驟榊�縺ョ隕∫エ�縺ォ縺、縺�※鬥門ーセ荳雋ォ縺励◆豈碑シ�未謨ー (荳玖ィ伜盾辣ァ) 縺ァ縺ェ縺��エ蜷医� 繧ス繝シ繝医�謖ッ繧玖�縺��螳溯」�セ晏ュ倥〒縺ゅk縲� len 繧� ToUint32(this.length) 縺ィ縺吶k縲ゆク玖ィ倥�蜈ィ譚。莉カ繧呈コ縺溘☆謨エ謨ー i 蜿翫� j 縺ィ 繧ェ繝悶ず繧ァ繧ッ繝� P 縺悟ュ伜惠縺吶k蝣エ蜷医√た繝シ繝医�謖ッ繧玖�縺��螳溯」�セ晏ュ倥〒縺ゅk:
this
縺ッ ToString(i) 縺ィ縺�≧蜷榊燕縺ョ繝励Ο繝代ユ繧」繧呈戟縺溘↑縺��this
縺ァ蟋九∪繧� 1 蛟倶サ・荳翫� [[Prototype]] 繝励Ο繝代ユ繧」繧定セソ繧九%縺ィ縺ォ繧医▲縺ヲ蜿門セ励&繧後k縲�縺昴≧縺ァ縺ェ縺代l縺ー谺。縺ョ繧ケ繝�ャ繝励′蜿悶i繧後k.
霑斐&繧後k繧ェ繝悶ず繧ァ繧ッ繝医�縲∵ャ。縺ョ 2 蛟九�繝励Ο繝代ユ繧」繧呈戟縺溘↑縺代l縺ー縺ェ繧峨↑縺��
new
[π(j)] 縺ッ old[j], 縺ィ蜈ィ縺丞酔縺伜、縺ァ縺ゅj縲√�繝ュ繝代ユ繧」 old[j] 縺悟ュ伜惠縺励↑縺�↑繧峨�縲� new
[π(j)] 縺ッ蟄伜惠縺励↑縺�h縺�↑縲�0 莉・荳� Result(2) 譛ェ貅縺ョ謨エ謨ー縺ョ謨ー蟄ヲ逧���� π 縺悟ュ伜惠縺励↑縺代l縺ー縺ェ繧峨↑縺��縺薙%縺ァ縺ッ縲∬。ィ險� old[j] 縺ァ縺薙�髢「謨ー縺ョ螳溯。悟燕縺ョ縺薙�繧ェ繝悶ず繧ァ繧ッ繝医� [[Get]] 繝。繧ス繝�ラ縺ョ蠑墓焚 j 縺ァ縺ョ蜻シ蜃コ縺励�莉ョ縺ョ邨先棡繧貞盾辣ァ縺励� 陦ィ險� new
[j] 縺ァ縺薙�髢「謨ー縺ョ螳溯。悟セ後�縺薙�繧ェ繝悶ず繧ァ繧ッ繝医� [[Get]] 繝。繧ス繝�ラ縺ョ蠑墓焚 j 縺ァ縺ョ蜻シ蜃コ縺励�莉ョ縺ョ邨先棡繧貞盾辣ァ縺吶k縲�
荳玖ィ倥�蠢�ヲ∵擅莉カ縺ョ蜈ィ縺ヲ縺碁寔蜷� S 蜀��蛟、 a, b, c (縺セ縺溘�蜷後§蛟、) 蜈ィ縺ヲ縺ォ縺、縺�※貅縺溘&繧後k蝣エ蜷医∝、縺ョ髮�粋 S 縺ォ縺、縺�※髢「謨ー comparefn 縺ッ鬥門ーセ荳雋ォ縺励◆豈碑シ�未謨ー縺ァ縺ゅk: 險俶ウ� <CF b 縺ッ comparefn(a,b) < 0 繧呈э蜻ウ縺吶k; a =CF b 縺ッ comparefn(a,b) = 0 (of either sign) 繧呈э蜻ウ縺吶k; a >CF b 縺ッ comparefn(a,b) > 0 繧呈э蜻ウ縺吶k縲�
NOTE 荳翫�譚。莉カ縺ッ縲� comparefn 縺碁寔蜷� S 繧堤ュ我セ。縺ェ遞ョ蛻・縺ォ蛻�牡縺励√◎縺ョ遲我セ。縺ェ遞ョ蛻・縺悟�縺乗紛辟カ縺ィ縺励※縺�k縺ョ繧剃ソ晁ィシ縺ォ縺吶k縺ョ縺ォ縲∝ソ�ヲ√°縺、蜊∝�縺ァ縺ゅk縲�
SortCompare 貍皮ョ怜ュ舌′ 2 蛟九�蠑墓焚 j 縺ィ k 縺ァ蜻シ蜃コ縺輔l繧九→縲∵ャ。縺ョ繧ケ繝�ャ繝励′蜿悶i繧後k:
NOTE 蟄伜惠縺励↑縺��繝ュ繝代ユ繧」縺ョ蛟、縺ッ縲∝クク縺ォ undefined 繝励Ο繝代ユ繧」蛟、繧医j螟ァ縺阪¥豈碑シ�@縲� undefined 縺ッ莉悶�蛟、繧医j繧ょ、ァ縺阪>縺ィ豈碑シ�☆繧九◆繧√� undefined 繝励Ο繝代ユ繧」蛟、縺ッ蟶ク縺ォ邨先棡縺ョ譛ォ蟆セ縺ォ繧ス繝シ繝医@縲∝ュ伜惠縺励↑縺��繝ュ繝代ユ繧」縺ョ蛟、縺檎カ壹¥縲�
NOTE sort
髢「謨ー縺ッ謨�э縺ォ縺ォ豎守畑逧�〒縺ゅk; this
蛟、縺� Array 繧ェ繝悶ず繧ァ繧ッ繝医〒縺ゅk縺薙→繧定ヲ∵アゅ&繧後↑縺�ゅ◎繧後f縺医∽サ悶�遞ョ鬘槭�繧ェ繝悶ず繧ァ繧ッ繝医↓繝。繧ス繝�ラ縺ィ縺励※霆「逕ィ蜿ッ閭ス縺ァ縺ゅk縲� sort
髢「謨ー縺� host 繧ェ繝悶ず繧ァ繧ッ繝医↓縺�∪縺城←逕ィ縺ァ縺阪k縺九←縺�°縺ッ縲∝ョ溯」�セ晏ュ倥〒縺ゅk縲�
splice
繝。繧ス繝�ラ縺� 2 蛟倶サ・荳翫�蠑墓焚 start, deleteCount, 縺昴@縺ヲ(驕ク謚樒噪縺ォ) item1, item2, etc. 縺ァ蜻シ蜃コ縺輔l繧九→縲��蛻励�豺サ縺亥ュ� start 縺九i蟋九∪繧� deleteCount 蛟九�驟榊�隕∫エ�縺後∝シ墓焚 item1, item2, etc 縺ァ鄂ョ謠帙&繧後k縲よャ。縺ョ繧ケ繝�ャ繝励′蜿悶i繧後k:
new
Array() 縺ィ蜷梧ァ倥↓逕滓�縺励◆驟榊�縺ィ縺吶k縲�splice
繝。繧ス繝�ラ縺ョ length 繝励Ο繝代ユ繧」縺ッ 2 縺ァ縺ゅk縲�
NOTE splice
髢「謨ー縺ッ謨�э縺ォ縺ォ豎守畑逧�〒縺ゅk; this
蛟、縺� Array 繧ェ繝悶ず繧ァ繧ッ繝医〒縺ゅk縺薙→繧定ヲ∵アゅ&繧後↑縺�ゅ◎繧後f縺医∽サ悶�遞ョ鬘槭�繧ェ繝悶ず繧ァ繧ッ繝医↓繝。繧ス繝�ラ縺ィ縺励※霆「逕ィ蜿ッ閭ス縺ァ縺ゅk縲� splice
髢「謨ー縺� host 繧ェ繝悶ず繧ァ繧ッ繝医↓縺�∪縺城←逕ィ縺ァ縺阪k縺九←縺�°縺ッ縲∝ョ溯」�セ晏ュ倥〒縺ゅk縲�
驟榊�蜀��鬆�園縺悟シ墓焚繝ェ繧ケ繝亥�縺ォ蜃コ迴セ鬆�→蜷後§縺ォ縺ェ繧九h縺�↓縲∝シ墓焚縺碁�蛻励�蜈磯�ュ縺ォ prepend 縺輔l繧九�
unshift
繝。繧ス繝�ラ縺� 0 蛟倶サ・荳翫�蠑墓焚 item1, item2, etc. 縺ァ蜻シ蜃コ縺輔l繧九→縲∵ャ。縺ョ繧ケ繝�ャ繝励′蜿悶i繧後k:
unshift
繝。繧ス繝�ラ縺ョ length 繝励Ο繝代ユ繧」縺ッ 1 縺ァ縺ゅk縲�
NOTE unshift
髢「謨ー縺ッ謨�э縺ォ縺ォ豎守畑逧�〒縺ゅk; this
蛟、縺� Array 繧ェ繝悶ず繧ァ繧ッ繝医〒縺ゅk縺薙→繧定ヲ∵アゅ&繧後↑縺�ゅ◎繧後f縺医∽サ悶�遞ョ鬘槭�繧ェ繝悶ず繧ァ繧ッ繝医↓繝。繧ス繝�ラ縺ィ縺励※霆「逕ィ蜿ッ閭ス縺ァ縺ゅk縲� unshift
髢「謨ー縺� host 繧ェ繝悶ず繧ァ繧ッ繝医↓縺�∪縺城←逕ィ縺ァ縺阪k縺九←縺�°縺ッ縲∝ョ溯」�セ晏ュ倥〒縺ゅk縲�
Array 繧、繝ウ繧ケ繧ソ繝ウ繧ケ縺ッ縲� Array 繝励Ο繝医ち繧、繝励が繝悶ず繧ァ繧ッ繝医°繧峨�繝ュ繝代ユ繧」繧堤カ呎価縺励√◎縺励※谺。縺ョ繝励Ο繝代ユ繧」繧よ戟縺、縲�
Array 繧ェ繝悶ず繧ァ繧ッ繝医�螟牙喧縺励◆ [[Put]] 繝。繧ス繝�ラ繧堤畑縺�※莉悶� Native ECMAScript 繧ェ繝悶ず繧ァ繧ッ繝医�縺溘a縺ォ菴ソ逕ィ縺輔l繧九�
A 繧� Array 繧ェ繝悶ず繧ァ繧ッ繝医� P 繧呈枚蟄怜�縺ィ諠ウ螳壹☆繧九�
A 縺ョ [[Put]] 繝。繧ス繝�ラ縺後√�繝ュ繝代ユ繧」 P 縺ィ蛟、 V 縺ァ蜻シ蜃コ縺輔l繧九→縺阪∵ャ。縺ョ繧ケ繝�ャ繝励′蜿悶i繧後k:
Array 繧ェ繝悶ず繧ァ繧ッ繝医� length 繝励Ο繝代ユ繧」縺ッ縲��蛻励�豺サ縺亥ュ励r蜷榊燕縺ィ縺吶k蜷��繝ュ繝代ユ繧」縺ョ蜷榊燕繧医j縲∝クク縺ォ謨ー蛟、逧�↓螟ァ縺阪>縲�
length 繝励Ο繝代ユ繧」縺ッ螻樊ァ { DontEnum, DontDelete } 繧呈戟縺、縲�