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
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.5k
Other Decks in Programming
See All in Programming
AIとペアプロして処理時間を97%削減した話 #pyconshizu
kashewnuts
1
200
今、アーキテクトとして 品質保証にどう関わるか
nealle
0
200
RubyとGoでゼロから作る証券システム: 高信頼性が求められるシステムのコードの外側にある設計と運用のリアル
free_world21
0
210
Claude Codeセッション現状確認 2026福岡 / fukuoka-aicoding-00-beacon
monochromegane
4
390
Codex の「自走力」を高める
yorifuji
0
560
New in Go 1.26 Implementing go fix in product development
sunecosuri
0
330
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
440
あなたはユーザーではない #PdENight
kajitack
4
300
朝日新聞のデジタル版を支えるGoバックエンド ー価値ある情報をいち早く確実にお届けするために
junkiishida
1
370
Python’s True Superpower
hynek
0
200
Head of Engineeringが現場で回した生産性向上施策 2025→2026
gessy0129
0
210
Unity6.3 AudioUpdate
cova8bitdots
0
110
Featured
See All Featured
Practical Orchestrator
shlominoach
191
11k
The SEO identity crisis: Don't let AI make you average
varn
0
400
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
330
Mobile First: as difficult as doing things right
swwweet
225
10k
The Limits of Empathy - UXLibs8
cassininazir
1
240
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
880
Context Engineering - Making Every Token Count
addyosmani
9
740
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
140
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
How to make the Groovebox
asonas
2
2k
Optimising Largest Contentful Paint
csswizardry
37
3.6k
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