Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
今から始めるES2015
Search
Sota Sugiura
June 16, 2016
Programming
560
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
今から始めるES2015
社内勉強会にて発表した今からES2015を始める人のための資料です。
Sota Sugiura
June 16, 2016
More Decks by Sota Sugiura
See All by Sota Sugiura
内製したSlack Appで頑張るIncident Response@Waroom Meetup #1 / Incident Response with Slack App in 10X
sota1235
0
2k
20220926_セキュリティチームの今_for_Drs._Prime_公開用.pdf
sota1235
0
200
再発防止策を考える技術 / #phpconsen
sota1235
10
4.1k
How to choose the best npm module for your team?
sota1235
9
670
Realtime Database for high traffic production application
sota1235
7
4.3k
Road to migrate JP Web as a microservice
sota1235
4
1.8k
インターフェース再入門 / Think Interface again
sota1235
6
11k
再発防止策を考える技術 #phpconfuk_rej
sota1235
1
1.4k
Update around Firebase #io18
sota1235
3
4.5k
Other Decks in Programming
See All in Programming
継続モナドとリアクティブプログラミング
yukikurage
3
560
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
170
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
1.4k
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
140
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
220
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
370
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
490
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
2
840
関数型プログラミングのメリットって何だろう?
wanko_it
0
170
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
140
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.4k
Performance Engineering for Everyone
elenatanasoiu
0
270
Featured
See All Featured
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
460
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
Ethics towards AI in product and experience design
skipperchong
2
330
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
970
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.4k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
WENDY [Excerpt]
tessaabrams
11
38k
Un-Boring Meetings
codingconduct
0
340
The SEO Collaboration Effect
kristinabergwall1
1
500
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
150
Music & Morning Musume
bryan
47
7.3k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
210
Transcript
ͪΐͬͱͬͯͶ٩ ˊᗜˋ و
ࠓ͔Β࢝ΊΔ&4 !TPUB
ࣗݾհ w 4PUB4VHJVSB !TPUB w ৽ଔ w ࣾͰओʹ͓͘Έͯ͠·͢ w
ͨ·ʹ1)1ͱ+4ॻ͖·͢
ຊͷΰʔϧ
&4ΛΔ
ͦͯ͠໌͔Βॻ͘
ൃදΛௌ͘લͷ༻ޠू w &4ʜ&$."4DSJQU w +4ʜ+BWB4DSJQU
"HFOEB w )JTUPSZPG&$."4DSJQU w "CPVU&4 w )PXUPXSJUF&4 w 5SZXSJUJOH&4
)JTUPSZPG&$."4DSJQU
ࠓ&4ͷ͓ษڧձ &4ͱ+4ͷྺ࢙Λ ͬ͘͟ΓৼΓฦΔ
w &$."4DSJQU*OUFSOBUJPOBMͷఆΊΔ +BWB4DSJQUͷ༷ w ༷ʹԊ࣮ͬͯ͞ΕΔͷ͕+BWB4DSJQU w વɺෳ࣮ଘࡏ͢Δ w વɺ༷ʹै͏ٛͳ͍ ͦͦ&$."4DSJQUͱ
&$."4DSJQU༷ +BWB4DSJQU࣮ ͭ·Γ
&$."4DSJQU༷ +BWB4DSJQU࣮ ͭ·Γ ̃ㅳ䍖Ԋ㯸սⶨմՅՖ嫥Մնָֈ֘խԭն
d&$."4DSJQU w &4Ҏલʜང͔ੲ w &4ʜࠓͷݸલʹ͋ͨΔ࣮ d*& w &4ʜ༷ଘࡏ͢ΔͷͷɺͲͷϕϯμʔ࣮ͤ ͣਁಁ͠ͳ͔ͬͨ
w ͜͜ΒΜΑ΄Ͳͷ͜ͱ͕ແ͍ݶΓ৮Δ͜ͱͳ͍ ͣ w ৮Βͳ͖Ό͍͚ͳ͍ํ͍ͨΒೆແ
&$."4DSJQU w &4ͷͭલ w *&Ҏ߱ɺϞμϯϒϥβͰಈ͘Έͳ͞ΜͷΑ͘ Δ+BWB4DSJQUʹ࠷͍ۙͷ w ͔͠͠&4ʹʮͲ͏ͯ͜͠͏ͳͬͨʯ༷͕ ଟ͔ͬͨ
w ҉ͷάϩʔόϧม w ϨΩγΧϧείʔϓ w ίʔϧόοΫࠈ w UIJTࢀর w FUD
&4ͷͭΒ͍༷
UIJT var cat = { name: 'tama', say: function ()
{ console.log(this.name); // ‘tama’ function say() { console.log(this.name); // ?? } say(); } }; cat.say();
UIJT var cat = { name: 'tama', say: function ()
{ console.log(this.name); // ‘tama’ function say() { console.log(this.name); // undefined } say(); } }; cat.say();
ίʔϧόοΫࠈ asyncOne('hoge', function (res, err) { asyncTwo(res, function (res, err)
{ asyncThree(res, function (res, err) { asyncFour(res, function (res, err) { asyncFive(res, function (res, err) { console.log(res); // ඇಉظϚγϚγ }); }); }); }); });
҉ͷάϩʔόϧม var show = function () { var name =
'sota1235'; var age = (function (now) { birthday = 1992; return now - birthday; })(2016); console.log(name + ' is ' + age + ' years old.'); }; show(); // ‘sota1235 is 24 years old.’ /** after 100000 lines... */ console.log(name); // undefined console.log(age); // undefined console.log(birthday); // ??
҉ͷάϩʔόϧม var show = function () { var name =
'sota1235'; var age = (function (now) { birthday = 1992; return now - birthday; })(2016); console.log(name + ' is ' + age + ' years old.'); }; show(); // ‘sota1235 is 24 years old.’ /** after 100000 lines... */ console.log(name); // undefined console.log(age); // undefined console.log(birthday); // 1992
None
ͦ͏ͩɺ+4ΛΊΑ͏
"MU+4ͷొ w $44Ͱ͍͏4BTTͱ͔4UZMVTΈ͍ͨͳͷ w ίϯύΠϧ͢ΔͱϒϥβͰಈ͘ͷ͕ు͖ग़͞ΕΔ w +4Λָʹॻ͖͍ͨਓ͕ͨͪ৭ΜͳΛ࡞Γ࢝Ίͨ
ओͳ"MU+4 Πϯσϯτݴޠ࠷ߴʂ άϩʔόϧมͱ͔ࢮΜͰཉ͍͠
ओͳ"MU+4 ܕͦ͜ࢸߴ
ओͳ"MU+4 ·ͩ+BWB4DSJQUͰফͯ͠ΔΜͰ͔͢
ओͳ"MU+4
ओͳ"MU+4
ओͳ"MU+4
ओͳ"MU+4
ओͳ"MU+4 ͜Εͧࠞಱʜ
͑ɺ·ͩੜ+4ফͯ͠Δͷʁظ w &4ͷҋʹᙺΕΛΒͨ͠+4FSʹΑΔ"MU+4େ ઓ૪ w +4ͷସΛࢦͨ͠ΓଞݴޠΛ+4ʹίϯύΠϧ ͠Α͏ͱͨ͠Γ w ਓଵଦͳ͍͖ͷ
͑ɺ·ͩੜ+4ফͯ͠Δͷʁظ w "MU+4ͷొͰ&4ͷҋΛආ͚ͯ+4Λॻ͘͜ͱ ൺֱత༰қʹͳͬͨ w ͱ͍͑ɺϒϥβͰಈ͘Θ͚Ͱͳ͍ͷͰࠜ ຊղܾʹࢸΒͳ͍ w ୭͕ٹੈओΛͪΜͰ͍ͨʜ
ͦͯ࣌͠
ٹੈओര
"CPVU&4
&4 w &4͔Β࣮ʹͿΓͷϦϦʔε w &4ͱݺΕ͕ͯͨਖ਼໊ࣜশ&4 w ϒϥβॲཧೳྗͷ্ɺϑϩϯτͷൃలʹ ͍ຬΛ࣋ͯ͠ొ w ཁ͢Δʹधཁ͕͋Δ͔Β༷ࡦఆ͕ਐΜͩ
υϥεςΟοΫͳมߋ w ৽نػೳ͕ඇৗʹଟ͍ w ࠓ·Ͱͷ&4ͷͷଟ͘Λղܾ w $P⒎FF4DSJQUΛ͡Ίͱ͢Δ"MU+4ʹେ͖͘Ө ڹΛड͚͍ͯΔ w $MBTTߏจɺ"SSPX'VODUJPOFUDʜ
ه๏Λ͍͔ͭ͘հ
MFU w ϒϩοΫείʔϓม͕એݴՄೳʹͳͬͨ w ࠶ೖՄೳͳͷͰGPSจத͚ͩ༗ޮͳΧϯτม ͷ࣮ݱ͕Մೳʹ
MFU for (let i = 0; i < 5; i++)
{ console.log(i); } console.log(i); // ReferenceError let name = 'sota1235'; // ࠶ೖՄ name = 'sota1236'; // ࠶એݴෆՄ let name = 'sota1236'; // TypeError
DPOTU w ఆͷએݴ͕Մೳʹͳͬͨ w ࠶ೖෆՄ w WBSऴྃͷ͓Βͤ w มએݴݪଇશͯDPOTUͰɺͱ͍͏+4FSଟ͍
DPOTU const version = 2015; version = 2016; // TypeError
const version = 2017; // TypeError
BSSPXGVODUJPO w ؔͷলུه๏ w ؔͷॲཧ͕ߦ͔͠ͳ͚Ε҉ͷSFUVSO Մೳ w είʔϓͷUIJTΛҾ͖ܧ͙ʹҙ
BSSPXGVODUJPO // ES5 var func = function (food, name) {
console.log(name + ' want to eat ' + food); }; // ES2015 const func = (food, name) => { console.log(name + ' want to eat ' + food); }; // Ҿ͕1ͭͷ߹ɺؙׅހলུՄೳ const func2 = food => { console.log('I want to eat ' + food); }; // ॲཧ͕ҰߦͳΒதׅހলུՄೳ // ධՁ͞Ε͕ͨ҉ͷreturnͱͳΔʹҙ const func3 = food => console.log('I want to eat ' + food);
EFGBVMUQBSBNFUFSWBMVFT w ؔͷσϑΥϧτҾͷࢦఆ͕Մೳʹͳͬͨ
EFGBVMUQBSBNFUFSWBMVFT // lastͷσϑΥϧτΛࢦఆ const getName = (first, last = 'Sugiura')
=> { return last + ' ' + first; }; // มʹೖΔͷԿͰࢦఆՄೳ const concat = (list, subList = ['c']) => { return list.concat(subList); }; concat(['a', 'b']); // ['a', 'b', 'c'] concat(['a', 'b'], ['d']); // ['a', 'b', 'd']
TQSFBEPQFSBUPS w ྻɺΦϒδΣΫτΛϧʔϓͤͣల։Ͱ͖ΔΑ ͏ʹ w ྻ࿈݁ՄมҾͷ࣮͕༰қʹͳͬͨ w ԋࢉࢠΛར༻͢Δ
TQSFBEPQFSBUPS // ྻΛల։ const a = ['a', 'b', 'c']; const
b = [...a, 'd']; // ['a', 'b', 'c', 'd']; // ՄมҾ function print(...names) { console.log(names.join(' ')); }; print('es5', 'es6', 'es7'); // 'es5 es6 es7'
QBSBNFUFSDPOUFYUNBUDIJOH w 0CKFDU͔ΒಛఆͷΩʔΛࢦఆ͠มʹೖ͢Δ w 0CKFDUΛมؔͷҾʹϚοϐϯάͰ͖Δ
QBSBNFUFSDPOUFYUNBUDIJOH const meal = { breakfast : 'bread', lunch :
'pasta', dinner : 'curry', }; const { breakfast, lunch } = meal; console.log(breakfast); // 'bread' console.log(lunch); // 'pasta' function printLunch({ lunch }) { console.log('Lunch is ' + lunch); }; printLunch(meal); // 'Lunch is pasta'
DMBTT w $MBTTߏจ͕Մೳʹͳͬͨ w ࠓ·ͰͲ͓ΓQSPUPUZQFϕʔεͰͷදهՄೳ w ͕ɺಛஈϝϦοτͳ͍ͷͰ$MBTTߏจͰΑ͍ w QSPUPUZQFͷཧղ͓ͯ͘͠͠
DMBTT class Dog { constructor(name, age) { this.name = name;
this.age = age; } printName() { console.log(this.name); } static bark() { console.log('Wow'); } get age() { return this.age; } } Dog.bark(); // 'Wow' const dog = new Dog('chiwawa', 18); dog.printName(); // 'chiwawa'; console.log(dog.age); // 18
WBMVFFYQPSUJNQPSU w ϑΝΠϧͷϞδϡʔϧԽ͕Մೳʹͳͬͨ w &4ʹແ͔ͬͨػೳ w OPEFKT͔Β༌ೖͨ͠ػೳ
WBMVFFYQPSUJNQPSU // module.js export default function cat() { console.log('myaw'); }
export config = { env: 'develop', }; // sample.js import cat, { config } from './module'; cat(); // 'myaw' console.log(config.env); // 'develop';
1SPNJTF w ඇಉظॲཧΛྃ࣌ʹղܾ͢ΔΦϒδΣΫτ w &4ͷ࣌Ͱ࣮͘͞Ε͍͕༷ͯͨతʹ &4ʹؚ·ΕΔ w ίʔϧόοΫɺμϝɻθολΠɻ
1SPNJTF // Not good :( asyncFirst('hoge', result => { asyncSecond(result,
result => { asyncThird(result, result => { console.log(result); }); }); }); // Good promise :) asyncFirst('hoge') .then(asyncSecond) .then(asyncThird) .then(result => console.log(result)); .catch(err => console.error(err));
ͦͷଞେ w ͜͜Ͱհͨ͠ͷ͘͘͝͝Ұ෦ w ඇৗʹ৽ػೳ͕ଟ͍ͷͰίπίπ֮͑Α͏ w (JU)VCͰ·ͱΊͯ͘ΕͯΔϖʔδͰ߲͑ͨ Βݸ͋ͬͨ w
IUUQTHJUIVCDPNMVLFIPCBOFTGFBUVSFT
)PXUPXSJUF&4
?P? &4࠷ߴʂ໌͔Βॻ͍ͧ͘ʂ
㵺㱿㵺 ɻP ͋Εɺϒϥβ࣮͍͍ͭͯΔͷʁ
cIUUQTLBOHBYHJUIVCJPDPNQBUUBCMFFTc ᵎ ☋ʆ ᵊࡾ
‧▓▒░ `Т` ░▒▓‧͏Θ͋͋͋͋
ϒϥβϕϯμʔ w ͜͜Ͱ࠶ͼཱ͔ͪͩΔϕϯμʔ w ϒϥβʹΑͬͯ&4ͷରԠঢ়گʹࠩҟ͕ ͋Δ
ϒϥβରԠঢ়گ w *&֎ w &EHF ''࠷৽൛ͳΒ w $ISPNF 0QFSB࠷৽൛ͳΒ w
εϚϗ࠷େͱ݁ߏյ໓త ࣌IUUQTLBOHBYHJUIVCJPDPNQBUUBCMFFT
Α͘Θ͔ΒΜɻߦͰ w ٸͳ༷มߋʹ w ϒϥβ։ൃ͕͍͚ͭͣ w &4͕ಈ͔ͳ͍
Α͘Θ͔ΒΜɻߦͰ w ٸͳ༷มߋʹ w ϒϥβ։ൃ͕͍͚ͭͣ w &4͕ಈ͔ͳ͍
Α͘Θ͔ΒΜɻߦͰ w ٸͳ༷มߋʹ w ϒϥβ։ൃ͕͍͚ͭͣ w &4͕ಈ͔ͳ͍
#BCFM w &4Λ&4ʹมͯ͘͠ΕΔτϥϯεύΠ ϥʔ w $P⒎FF4DSJQU5ZQF4DSJQUΛॻ͍ͨΒ&4ʹ ม͑ͯ͘ΕΔͷͱಉ͡Α͏ͳϊϦ w *&·ͰରԠͨ͠ίʔυΛు͍ͯ͘ΕΔ
#BCFM &4 &4 ϒϥβͰಈ͘ #BCFMͰ ม͞ΕΔ
͑ɺ"MU+4͡ΌΜ w ϑϩϯτ+4ͱͯ͠ಈ͔͢खॱ͔֬ʹ"MU+4ͱ Ұॹ w ίʔυॻ͘ˠ&4ʹม w ҧ͏ͷॻ͘ίʔυ͕&$."ඪ४Ͱ͋Δ͜ͱ w ͍ͣΕશϒϥβ͕ಈ͘
ͣͷ ίʔυ͕ॻ͚Δ
#BCFM༻࣌ͷҙ w #BCFM͚ͩͰ͑ͳ͍&4ͷ༷͋Δ w 1SPYZ 4ZNCPM w ͭ·Γ&4Ͱ࠶ݱͰ͖ͳ͍ͷ w #BCFM͚ͩͰ&4ΛֶͿ͖Ͱͳ͍
w #BCFM࡞ऀͦ͏ݴͬͯΔ
#BCFM༻࣌ͷҙ w ݹ͍*&ͷରԠΛࢹʹೖΕΔࡍ৻ॏʹͳΔ͖ w 1PMZpMMϥΠϒϥϦͰ*&͙Β͍·Ͱ͍͚ͦ ͏͕ͩݕূ͕ඞཁͦ͏ w ϞδϡʔϧػೳΛϑϩϯτ࣮ʹམͱ͍ͨ͠ͳΒ ϞδϡʔϧίϯύΠϥʔඞਢ w
#SPXTFSJGZ 8FCQBDL͋ͨΓʁ
ͱ͍͑ w ʮϑϩϯτͰ&4ͷԸܙʹ͔͋Γ͍ͨʯ ͷͰ͋Ε#BCFM͑͏ w धཁ͋ΔͷͰอकͷ৺ແ͍ w &4Ҏ߱αϙʔτ͞ΕΔ༷
5SZXSJUJOH&4
໌͔Β&4Λॻ͜͏ʂ ʮࠓॻ͍ͨ&4ΛϒϥβͰಡΈࠐ·ͤͨΒಈ͘ʂʯ Λࢦ͢
Լ͝͠Β͑ w &4͕ॻ͚ͳ͍ਓ·ͣ&4Λֶͼ·͠ΐ͏ w #BCFM͕͢Δͷ&4Λ&4Ͱ࠶ݱ͢Δ͜ͱ w ͭ·Γ&4Ͱ࠶ݱͰ͖ͳ͍ػೳ͑ͳ͍ w ͳͥͦ͏͖͔͢͜ΕΛಡΉͱϋϥΦν͢Δ w
IUUQB[VHJUIVCJPTMJEFOPEFKTFTIPXUPMFBSOIUNM
ඞཁͳࡐྉ w /PEFKTOQNݸ w #BCFMݸ w λεΫϥϯφʔ͓ΈͰ
4UFQ&4Λ&4ʹม͢Δ
4UFQ ͦͷલʹʜ &4Λͤʹॻͨ͘Ίͷ ίπΛ͓ڭ͑͠·͢
4UFQ ͦͷલʹʜ ϏϧυڥશͯύΫΕ
ͳͥύΫΔͷ͔ w &4ͷࣝࠓޙͣͬͱੜ͖Δ w &4Λม͢ΔͨΊͷ͍ࣝͣΕ͍Βͳ ͘ͳΔ w
ͳͥύΫΔͷ͔ w ৮ͬͨ͜ͱ͋ΔਓͳΒΘ͔Δ͚ͲOQNͬͯ݁ߏ ͭΒ͍ w ม͢Δ͚ͩͰίέΔਓίέΔ w ؤு͍͍͚ͬͯͲίϨʹؔͯ͠ڊਓͷݞʹ Δ͖ͱ͍͏ͷ͕ࢲͷॴײ
ͬͯ͜ͱͰ w ԶͷࢡΛӽ͑ͯߦ͚ʂ w IUUQTHJUIVCDPNTPUBFT@TUBSUFS@LJU w Ͱ͖Δ͜ͱ w &4Λ&4ʹม w
Ϣχοτςετ͕&4Ͱॻ͚Δˍಈ͘
ᶃ&4Λม w #BCFMपΓͷπʔϧΛOQNͰམͱ͢ w ϏϧυεΫϦϓτΛॻ͘ w QBDLBHFKTPOPSλεΫϥϯφʔ w ͓ΈͰ w
࣮ߦ͢Δ
ᶄϢχοτςετΛಈ͔͢ w #BCFMपΓͷπʔϧΛམͱ͢ w ಈ͔͢ w Ҏ্ʂ w ͨͩ͠ɺϒϥβͰ࣮ߦ͍ͨ͠߹มͷ ඞཁ͋Γ
NPDIBͱ͔
͙͢ʹॻ͚ͨʂ w ϏϧυεΫϦϓτॻ͍ͯอकͷ͋Δ͚Ͳ ୭͔͕େؤுͬͯΔ w ձࣾͷΈΜͳ͕ॻ͖࢝ΊΕQKUԣஅͯ͠ࢼߦࡨ ޡ͢Ε͍͍ w ઃఆपΓ໎ΘͣύΫΖ͏
4UFQ&4ΛֶͿ
4UFQ&4ΛֶͿ w ಡΜͰֶͿ w τϨʔχϯάͰֶͿ w ౖΒΕֶͯͿ
ಡΜͰֶͿ w ༷ॻΛಡΉ w IUUQXXXFDNBJOUFSOBUJPOBMPSH QVCMJDBUJPOTTUBOEBSET&DNBIUN
ಡΜͰֶͿ w FTGFBUVSFT w IUUQFTGFBUVSFTPSH w &4ͱͷൺֱͰհ͞Ε͍ͯͯඇৗʹΑ͍
τϨʔχϯάͰֶͿ w UPXFSPGCBCFMͱ͍͏OQN͕͋Δ w ৄ͘͠࡞ऀهࣄΛ w IUUQZPTVLFGVSVLBXBIBUFOBCMPHDPNFOUSZ
τϨʔχϯάͰֶͿ
ౖΒΕֶͯͿ w &4-JOUΛར༻͢Δ w &4ͳॻ͖ํΛڧ͍ΔϝδϟʔͳDPOpHΛ མͱͯ͠͏ w ൃݟ͕ଟ͍ͷͰݸਓతʹਪͯ͠Δ w "JSCOC
(PPHMF͋ͨΓͷDPOpH͕Φεεϝ
&4-JOU"JSCOC
&4-JOU"JSCOC
·ͱΊ w &4Λॻͨ͘ΊͷڥਓͷΛύΫΖ͏ w ه๏ͪΐͬͱ֮ͣͭ͑Α͏ w &4΄΅ಈ͘ͷͰ·ͣDPOTUΛ͏ॴ͔ Βʜͱ͍͏ײ֮Ͱ͓̺
ͪͳΈʹ w ҎԼͷͷ#BCFMඞཁͳ͍Ͱ͢ w OPEFKTWd w Ϟμϯϒϥβ $ISPNF '' &EHF͋ͨΓ
w ΧόʔͰͳ͍͚Ͳ͍͍ͩͨಈ͘ͷͰ࿅ श࣌ͪ͜Βͷํ͕Φεεϝ
༨ஊɿ͜Ε͔Βͷ&4
ࠓޙɺ&4Ͳ͏ͳΔͷ͔ w &4ͷେྔΞοϓσʔτܾΊΔํπϥΠ w ͜Ε͔Βຖࡉ͔͘ΞοϓσʔτΛ͠Α͏ͱ͍ ͏ྲྀΕʹͳ͍ͬͯΔ w &4 &4ʜ w
&4͔ͭ͠ػೳ૿͑ͳ͍༧ఆͩΑʂ
&4OFYU w ࣍ظʹͰΔ&4ͷ༷Λ·Δͬͱ&4OFYUͱݺͿ w #BCFMͷQSFTFUΛར༻͢Δ͜ͱͰকདྷͷ༷Λ ઌऔΓͰ͖Δ w ڵຯͷ͋Δํ୭Ͱ࣍ظ༷ΛఏҊͰ͖Δͷ ͰͬͯΈΑ͏
&4Ͱ ࠷ߴͷ+4ϥΠϑΛ