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
210
about ES and TC39
について調べました。
surumebeer
May 08, 2019
Tweet
Share
More Decks by surumebeer
See All by surumebeer
作ろう、Custom Hooks
surumebeer
1
260
Other Decks in Technology
See All in Technology
生成AI・LLM時代における 機械学習エンジニアとしてのキャリア戦略・開発戦略 / my-career-and-development-strategies-for-ml-engineer-2024
yuya4
3
240
暗黙知を集積するプラットフォーム : 「健常者エミュレータ事例集」の取り組み
sora32127
1
160
オーティファイ会社紹介資料 / Autify Company Deck
autifyhq
7
100k
統計的学習理論読み Chapter 1
kmatsui
3
760
Cloud Deploy と仲良くなりたい
phaya72
1
100
初心者が行く!サーバレスWebアプリ開発の道
nagaharutogawa
0
440
プッシュ型子育てサービスを、先行プロジェクト実施自治体において開始します
govtechtokyo
0
240
検証からプロダクトへ: シームレスなLLM開発の ためのしくみ作り
nunukim
1
160
生成AIサービスPanorama AIご説明資料
sdt
0
300
現実世界の事象から学ぶSOLID原則
h0r15h0
24
10k
複数の LLM モデルを扱う上で直面した辛みまとめ
kazuyaseki
1
230
Elementaryを用いたデータ品質の可視化とデータ基盤の運用改善
10xinc
6
1.4k
Featured
See All Featured
Pencils Down: Stop Designing & Start Developing
hursman
115
11k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
Gamification - CAS2011
davidbonilla
76
4.5k
jQuery: Nuts, Bolts and Bling
dougneiner
57
7.1k
Six Lessons from altMBA
skipperchong
19
2.9k
The MySQL Ecosystem @ GitHub 2015
samlambert
242
12k
In The Pink: A Labor of Love
frogandcode
137
21k
Thoughts on Productivity
jonyablonski
57
3.8k
Design by the Numbers
sachag
274
18k
Web Components: a chance to create the future
zenorocha
304
41k
Designing for humans not robots
tammielis
247
25k
Building Flexible Design Systems
yeseniaperezcruz
317
37k
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
おしまい
ご清聴ありがとうございました
乾杯