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
ES.next — 20年目のECMAScriptに向けて
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
nishaya
September 29, 2016
Programming
0
1.3k
ES.next — 20年目のECMAScriptに向けて
社内勉強会で話した、ES.nextに関する話です
nishaya
September 29, 2016
Tweet
Share
More Decks by nishaya
See All by nishaya
ブラウザで一緒に音楽をつくる
nishaya
0
2.2k
Webで音楽を奏でる
nishaya
0
6.2k
そのSPA、本当に必要ですか?
nishaya
0
3.4k
Other Decks in Programming
See All in Programming
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
1
220
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
6
630
CSC307 Lecture 02
javiergs
PRO
1
780
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
180
React Native × React Router v7 API通信の共通化で考えるべきこと
suguruooki
0
100
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
210
なぜSQLはAIぽく見えるのか/why does SQL look AI like
florets1
0
480
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.4k
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
650
CSC307 Lecture 08
javiergs
PRO
0
670
Fluid Templating in TYPO3 14
s2b
0
130
AI & Enginnering
codelynx
0
120
Featured
See All Featured
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
70
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
420
Test your architecture with Archunit
thirion
1
2.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
YesSQL, Process and Tooling at Scale
rocio
174
15k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
67
Context Engineering - Making Every Token Count
addyosmani
9
670
Odyssey Design
rkendrick25
PRO
1
500
Transcript
ES.next 20ͷECMAScriptʹ͚ͯ גࣜձࣾSpeee ։ൃ෦ ೋࣾ୩ ߉༎ 1
ES = ECMAScriptͱ • ECMA-262ͰఆΊΒΕͨεΫϦϓτݴޠͷ༷ • JavaScriptECMAScriptͷ࣮ͳͷͰɺݫີʹΠίʔϧͰ ͳ͍ • ECMAͷTC39ʹΑͬͯࡦఆ͞Ε͖ͯͨ
• ES1͕1997ʹࡦఆ͞ΕͨͷͰɺདྷͰ20Λܴ͑Δ 2
Contents • What's new in ES2015(ES6) • What's new in
ES2016(ES7) • ECMAScriptͷࡦఆϓϩηε 3
What's new in ES2015(ES6) 4
ES2015ͰՃ͞Εͨͷ • classߏจ • Ξϩʔؔ • ObjectϦςϥϧͷ֦ு • ςϯϓϨʔτจ •
ׂೖ 5
ES2015ͰՃ͞Εͨͷ • DefaultɺRest(༨Ҿ)ɺSpread • let ͱ const • for ..
of จ • δΣωϨʔλ yield, yield* • Unicodeαϙʔτͷ֦ு 6
ES2015ͰՃ͞Εͨͷ • Ϟδϡʔϧ(import/export) • Map, Set, WeakMap, WeakSet • Proxy/Reflect
• Symbol • ϏϧτΠϯΦϒδΣΫτͷαϒΫϥε 7
ES2015ͰՃ͞Εͨͷ • Promise • Array, Math, Number, Object, Date, RegExpͷػೳՃ
• ܕ͖ྻ(Typed Arrays) • 2ਐ͓Αͼ8ਐͷϦςϥϧ • ඌݺग़͠࠷దԽ(tail call optimization) 8
What's new in ES2016(ES7) 9
ES2016ͰՃ͞Εͨͷ(1) • Array.prototype.includes() [1, 2, 3].includes(2); // true [1, 2,
3].includes(4); // false [1, 2, 3].includes(1, 0); // true [1, 2, 3].includes(3, 3); // false 10
ES2016ͰՃ͞Εͨͷ(2) • ͖ԋࢉࢠ 2 ** 2 // 4 2 **
-2 // 0.25 - 2 ** 2 // SyntaxError: Unexpected token ** -(2 ** 2) // -4 (-2) ** 2 // 4 11
Ҏ্ গͳ͍ͱࢥ͍·ͤΜ͔ʁ 12
ECMAScriptͷ༷ࡦఆϓϩηε 13
͍··ͰͷECMAScript • ES4ҙݟׂ͕Εͨʹഁغ͞Εͨ • ES2015ͷࡦఆʹ͕͔͔࣌ؒΓ͗ͨ͢ 14
࣍ظECMAScriptͷ༷ࡦఆϓϩηε • ϦϦʔε͕1ຖʹͳΔɻ໊લ߸ʹ(ES6 -> ES2015) • Ճ༷ਵ࣌ఏҊ͞ΕΔɻఏҊStage0(͖ͨͨ)ʙ Stage4(ࡦఆྃ)·Ͱͷ4ஈ֊ • 1ճͷTC39૯ձͷࡍʹStage4ʹͳ͍ͬͯΔͷ͕༷ʹऔ
Γࠐ·ΕΔ • ͦΕΒͷఏҊ·ͱΊͯES.nextͱݺͿ 15
֤εςʔδ • Stage0 Strawman • Stage1 Proposal • Stage2 Draft
• Stage3 Candidate • Stage4 Finished https://tc39.github.io/process-document/ 16
ͦͷ݁Ռ https://github.com/tc39/proposals/ 17
͜Ε͔Β࠾༻͞Εͦ͏ͳͷ 18
͍͔͚Δʹʁ ຖग़Δͱͨ͠ΒɺະରԠϒϥβͷࠩҟຒΊΔͷେมͰ …ʁ • BabelΛ͏ • Polyfill͏ 19
ES.nextͷContributeΛ͢Δʹʁ • όάใࠂ&मਖ਼ • ػೳͷϦΫΤετ • Proposal(ఏҊ)Λ্͛Δ https://github.com/tc39/proposals/blob/master/ CONTRIBUTING.md 20
·ͱΊ • ES2015 ʹΑͬͯύϫϑϧʹͳͬͨECMAScript • ES2016 ͔Βࡦఆϓϩηε͕มߋ͞Εͨ • ES.next ΛܾΊΔͷ͋ͳͨ(͔͠Εͳ͍)
21