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.1k
ES.next — 20年目のECMAScriptに向けて
社内勉強会で話した、ES.nextに関する話です
nishaya
September 29, 2016
Tweet
Share
More Decks by nishaya
See All by nishaya
ブラウザで一緒に音楽をつくる
nishaya
0
1.7k
Webで音楽を奏でる
nishaya
0
5.7k
そのSPA、本当に必要ですか?
nishaya
0
3.1k
Other Decks in Programming
See All in Programming
『Railsオワコン』と言われる時代に、なぜブルーモ証券はRailsを選ぶのか
free_world21
1
390
Compose-View Interop in Practice (mDevCamp 2024)
stewemetal
0
170
効率化に挑戦してみたらモバイル開発が少し快適になった話
ryunakayama
0
140
DMMプラットフォームがTiDB Cloudを採用した背景
pospome
9
4.3k
Behind VS Code Extensions for JavaScript / TypeScript Linnting and Formatting
unvalley
6
1.3k
Goのmultiple errorsについて (2024年4月版)
syumai
4
1.2k
Python3.12のWhat's New から f-string の変更だけ読んでみた
2323code
0
100
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
180
SIMD Parallel Programming with the Vector API
josepaumard
0
240
CDKコントリビュートの最初の壁を越えよう! -簡単issueの見つけ方-
badmintoncryer
3
230
パフォーマンスを求めてDBに機能を寄せる戦略
aoyagikouhei
0
110
PostmanでAPIの動作確認が楽になった話
h455h1
0
180
Featured
See All Featured
Fireside Chat
paigeccino
22
2.6k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
8
3.4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
245
20k
[RailsConf 2023] Rails as a piece of cake
palkan
28
4k
The MySQL Ecosystem @ GitHub 2015
samlambert
244
12k
What the flash - Photography Introduction
edds
64
11k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
126
32k
Building Adaptive Systems
keathley
32
1.9k
Making the Leap to Tech Lead
cromwellryan
125
8.5k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
79
44k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
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