GMO pepabo Tech Meeting/Hosting#3 で話した資料です
ͳΜͱͳ͘+4ॻ͍ͯΔਓ5PNPIJTB0EB(.01FQBCP *OD5FDI.FFUJOH)PTUJOH+BWB4DSJQUͷ;Γ͔͑Γձ
View Slide
ϓϦϯγύϧΤϯδχΞ5PNPIJTB0EB!MJOZPXTٕज़෦ٕज़ج൫νʔϜ
͓΅͍͑ͯ·͔͢ʁ
'BOJDઑͬͯ·ͨ͠ʢ࣌wϦΞϧλΠϜը૾มʢࠓͱͳͬͯී௨w''NQFHϥούʔͰNQɺBBD૬ޓมKPCwTͷϦιʔεΰϛߴআKPCʑɺ/PEFKTΛ༻͍ͯΠϕϯτϧʔϓϊϯϒϩοΩϯάΛ׆༻͍ͯͨ͠
͜Μͳํ͕ରͰ͢wK2VFSZΛͱΓ͋͑ͣͬͯ·͢ΑwQSPUPUZQFͬͯԿɺK2VFSZͷલʹྲྀߦͬͨͭʁw&$."4DSJQUʁॳΊͯฉ͖·ͨ͠
XFCΞϓϦέʔγϣϯ։ൃͯ͠Δ͕ɺKT͕ϝΠϯ͡Όͳ͍
ͳΜͱͳ͘+4ॻ͍ͯ·͢ʂ
+BWB4DSJQUͷ͜Ε·ͰམͪͿΕwॳ಄ϒϥβͱͱʹੜw&$."ઃཱʢ+TDSJQUͱ+BWB4DSJQUޓͷಈ͖ʣwͱ͜Ζ͕ҙݟ͕·ͱ·Βͳ͍wͦͷؒʹ"DUJPO4DSJQUͷ'MBTI͕·Δw/BUJWF+4ͳΜͯཁΒΜͷ͡Όͱ͍͏งғؾʜաڈͷͷ
+BWB4DSJQUͷ͜Ε·Ͱ࠶ͼw(PPHMF.BQͰ"KBY͕ར༻͞Ε+4͕࠶ͼΛ͋ͼ࢝ΊΔw$ISPNFͱͱʹWNܕͰߴͳ+4Τϯδϯ7͕ެ։͞ΕΔw7ΛͬͨαʔόαΠυͷSVOUJNF/PEFKT͕ੜ͢Δwࠒ͔Β#BDLCPOFKTච಄ʹ"OHVMBS+43FBDU7VFKTͳͲͷํόΠϯσΟϯάϑϨʔϜϫʔΫ͕ొ͍ͯ͘͠w&$."4DSJQUUIFEJUJPO͕ެ։͞ΕΔ
ํσʔλόΠϯσΟϯάͱw6*ͱσʔλͷํͰใʢมԽʣΛڞ༗͢Δw6*ʢJOQVUʣΛมߋͨ͠Βσʔλʹө͠ɺσʔλ͕ߋ৽͞ΕͨΒ6*͕มԽw۩ମతʹWJFXNPEFMํͰΓͱΓ͢Δ
&$."4DSJQUUIFEJUJPOw͍ΘΏΔ&4&4wݴޠ༷Λ࠶ఆٛwࠓޙԿόάमਖ਼ͱখ͞ͳػೳՃͰຖϦϦʔεw͜Εʹ߹Θͤɺαʔόͱϒϥβͷ+4͕౷߹ʹ͔͍ͬͯΔʁͣ
&4ͬͯ͑Δͷw&4͕͏͙͢ʜw֤αʔϏεͷޓදIUUQLBOHBYHJUIVCJPDPNQBUUBCMFFTwओཁϒϥβɺ࠷৽/PEFKTͰ΄΅ରԠࡁΈͳͷͰେମ͑Δͱݴ͑ΔwେମͳͷͰτϥϯεύΠϧΔͷ͕ແ
5SBOTQJMFτϥϯεύΠϥw#BCFMw#VCMFτϥϯεύΠϧ͕ඞཁͳݴޠw5ZQF4DSJQUw$P⒎FF4DSJQU
Ͱɺ&4Կ͕͏Ε͍͠ͷʁ
&4Ͱ͏Ε͍͜͠ͱwQSPUPUZQFϕʔεͰઃܭ͠ͳͯ͘ྑ͘ͳΔDMBTTͱFYUFOETw͖Ε͍ͳTZOUBYʢBSSPXGVODUJPOQSPNJTFʜ ʣw4ZNCPMΒ.BQͳͲศརػೳৄ͘͠IUUQQPTUEDDFTDIFBUTIFFU
ʘͦͦΑ͘Θ͔Βͳ͍Ͱ͢ϓϩτλΠϓϕʔεʢͪͳΈʹ͖Ͱ͢ʣ
Ͱ͢ΑͶ ??
ܧঝͷྫ function Employee() {this.name = "";this.dept = "general";}function Manager() {Employee.call(this);this.reports = [];}Manager.prototype = Object.create(Employee.prototype);function Worker() {Employee.call(this);this.projects = [];}Worker.prototype = Object.create(Employee.prototype);function Engineer() {Partner.call(this);this.dept = "engineering";}Engineer.prototype = Object.create(Worker.prototype);var opo = new Engineer();opo.dept; // => "enginneering"
֦ுͷྫfunction Point(x, y) {this.x = x;this.y = y;}var p = new Point(3, 4);p.x // => 3p.y // => 4Point.prototype.r = function() {return Math.sqrt((this.x * this.x) +(this.y * this.y));};p.r();
ײwܧঝͱ͍͏ΑΓίϐʔʹ͍ۙwநԽ͞Εͨͷͱ࣮ଶͷ͕ؔͳ͍શ࣮ͯଶwͳͷͰΑΓૄ݁߹ͳΦϒδΣΫτ
·ͱΊw͍ྺ࢙ΛܦͯͬͱҰ؏ੑ͕ग़͖ͯͭͭ͋Δwͨͩ͠ɺաظͳͷͰ༷ʑͳπʔϧपลϥΠϒϥϦ͕ࢁग़ݱͯ͠ফ͍͍͑ͯͬͯΔwࠓͳ͓৽͍͠ϓϩϙʔαϧ͕HJUIVCʹ্͕͍ͬͯͯมԽ͍ͯ͠Δதɺϒϥβ͔ΒαʔόαΠυͨ·ͨϞόΠϧΧόʔ͢ΔݴޠແࢹͰ͖ͳ͍ͷͰ͋Δ
߈Ί͍ͯ͜͏+BWB4DSJQU
܅αϩϯʹ͓͍Ͱʁ࠷৽ใΛνΣοΫˠ !MJOZPXT
͓ΘΓ