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
about ES and TC39
Search
surumebeer
May 08, 2019
Technology
0
270
about ES and TC39
について調べました。
surumebeer
May 08, 2019
Tweet
Share
More Decks by surumebeer
See All by surumebeer
作ろう、Custom Hooks
surumebeer
1
330
Other Decks in Technology
See All in Technology
AIのグローバルトレンド2025 #scrummikawa / global ai trend
kyonmm
PRO
1
310
Rustから学ぶ 非同期処理の仕組み
skanehira
1
150
TS-S205_昨年対比2倍以上の機能追加を実現するデータ基盤プロジェクトでのAI活用について
kaz3284
1
210
エンジニアリングマネージャーの成長の道筋とキャリア / Developers Summit 2025 KANSAI
daiksy
3
830
「何となくテストする」を卒業するためにプロダクトが動く仕組みを理解しよう
kawabeaver
0
430
実践!カスタムインストラクション&スラッシュコマンド
puku0x
0
510
テストを軸にした生き残り術
kworkdev
PRO
0
210
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
22
12k
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
230
dbt開発 with Claude Codeのためのガードレール設計
10xinc
2
1.3k
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
270
Django's GeneratedField by example - DjangoCon US 2025
pauloxnet
0
150
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
246
12k
Docker and Python
trallard
46
3.6k
Into the Great Unknown - MozCon
thekraken
40
2k
Building Applications with DynamoDB
mza
96
6.6k
How GitHub (no longer) Works
holman
315
140k
4 Signs Your Business is Dying
shpigford
184
22k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
Rails Girls Zürich Keynote
gr2m
95
14k
Designing Experiences People Love
moore
142
24k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Automating Front-end Workflow
addyosmani
1370
200k
Transcript
ECMAScriptとTC39について Shuji Nishino @surumebeer 『Vue.js/PWA/JavaScript…新&定番なんでもあり』 表参道Web勉強会 3 2019/4/8
自己紹介 Shuji Nishino @surumebeer 株式会社PR TIMES フロントエンドエンジニア ・するめ ・ビール ・鯱がマスコットのサッカークラブ
が好きです。 よろしくおねがいします。
ささやかな疑問
ES2015だのES7だの ナンバリングがあれこれあるけど そもそもこれはどういうことなんだろ
あれこれを調べてみた
そもそもES(ECMAScript)とは?
ECMAScript(Ecma-262) • Ecma Internationalが策定しているJavaScriptの仕様 • 紆余曲折あってブラウザ(クライアントサイド)で使える JavaScriptの仕様を標準化する必要性が高まり、Ecma Internationalが策定&標準化している (詳しくはWebで)
ECMAScript(Ecma-262) • ES2015(ES6)から毎年策定する予定のため、策定時の バージョニングから西暦でナンバリングしようとなっているみ たいです。 Ecma Internationalの中にTC39という集まりがあるらしい • どうやって標準化してるの? •
ES2015には大きな標準化がありましたね
TC39…
TC39とは • ECMAScriptの仕様について議論する委員会(github) • github/TC39のPeople 各ブラウザ、W3C、WHATWG、Node.jsのDevelopper等 • 段階的なプロセスを経て機能の標準化をしている • ブラウザに導入して実際にテストしていたりする。
→ 例:Chrome 67にPromise.allSetteledが導入される
仕様策定のプロセス • Stage0 - Strawperson • Stage1 - Proposal •
Stage2 - Draft • Stage3 - Candidate • Stage4 - Finished • (Inactive) https://tc39.github.io/process-document/
MTGの内容 アジェンダだったり議事録だったりがGitHubに置いてある 主に… • ProposalのStage、issues、PRについての議論 • Proposalにある機能の仕様の確認 等 毎年5-6月にStage4の機能の標準化を発表している
ちなみに… 今年発表されるであろうECMAScript2019のバージョンは10ら しいです。
実際にStage4にある機能を見てみる Finished Proposals
ES2019で追加される予定のもの ES2016 - 2 Proposals ES2017 - 6 Proposals ES2018
- 8 Proposals ES2019 - 8 Proposals とES2016以降で毎年追加予定の 機能は増加傾向にある。
Array.prototype.{flat,flatMap}を見てみる Array.prototype.flat 配列を連結して特定の深さの新しい配列を作成する Array.prototype.flatMap 配列の各要素をマッピングする関数を使用してマッピングし、flat化した結果を新しい配 列にする。 Array.prototype.flatMap & Array.prototype.flat(Stage 3
Draft / January 4, 2019)
Array.prototype.{flat,flatMap}を見てみる flat flatMap
Proposalの動き GitHub/TC39にレポジトリが立っているので、commitのhistory見てみる
Proposalの動き Stage 0 には2017年6月に上がっている。
議事録見てみる 2017-07-27 Meeting Notes Proposalのためのslideとかもある みたいな仕様についての議論がされている
そしてStage4(Finished)に
で、どこで使えるの or どこで使えないの? ECMAScript 5/6/7 compatibility tables 見るとすごいわかりやすくていいです
参考 ・GitHub/TC39 ・ECMAScript Discussion Archives ・ECMAScript® 2020 Language Specification ・ECMAScript
2019の議事録を全部読む #TC39MTG 読書会をしました ・ECMAScriptの仕様策定に関するカンニングペーパー (Web Scratch) ・ECMAScript 5/6/7 compatibility tables
おしまい
ご清聴ありがとうございました
乾杯