Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ES.next — 20年目のECMAScriptに向けて
Search
nishaya
September 29, 2016
Programming
1.4k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ES.next — 20年目のECMAScriptに向けて
社内勉強会で話した、ES.nextに関する話です
nishaya
September 29, 2016
More Decks by nishaya
See All by nishaya
ブラウザで一緒に音楽をつくる
nishaya
0
2.3k
Webで音楽を奏でる
nishaya
0
6.3k
そのSPA、本当に必要ですか?
nishaya
0
3.5k
Other Decks in Programming
See All in Programming
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
350
Jetpack Compose メカニズム
skydoves
0
470
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
540
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
160
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
480
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
380
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2.2k
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
1
12k
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
120
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
390
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
460
Webの地図
yosuke_furukawa
PRO
6
4.7k
Featured
See All Featured
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
250
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Paper Plane
katiecoart
PRO
4
53k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Google's AI Overviews - The New Search
badams
0
1.6k
My Coaching Mixtape
mlcsv
0
320
How to build a perfect <img>
jonoalderson
1
6k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
470
We Have a Design System, Now What?
morganepeng
55
8.3k
Designing for humans not robots
tammielis
254
26k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
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