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
ESNext の議論に参加しよう / Join the ESNext discussion
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
petamoriken / 森建
November 15, 2019
Programming
960
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ESNext の議論に参加しよう / Join the ESNext discussion
フロントエンドカンファレンス福岡 2019 前夜祭&リジェクトコン
https://fec-fukuoka.connpass.com/event/154737/
petamoriken / 森建
November 15, 2019
More Decks by petamoriken / 森建
See All by petamoriken / 森建
WebAssembly を読み込むベストプラクティス 2026年春版 / Best Practices for Loading WebAssembly (Spring 2026)
petamoriken
5
1.2k
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
260
Module Harmony
petamoriken
3
1k
Denoでフロントエンド開発 2025年春版 / Frontend Development with Deno (Spring 2025)
petamoriken
1
1.6k
非ブラウザランタイムとWeb標準 / Non-Browser Runtimes and Web Standards
petamoriken
0
660
ふかぼれ!CSSセレクターモジュール / Fukabore! CSS Selectors Module
petamoriken
0
330
フロントエンドの標準仕様をどう追っているか / How I follow the frontend standards specs
petamoriken
4
2.7k
ECMAScript、Web標準の型はどう管理されているか / How ECMAScript and Web standards types are maintained
petamoriken
3
660
DOM Observable
petamoriken
1
370
Other Decks in Programming
See All in Programming
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
540
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
110
Lessons from Spec-Driven Development
simas
PRO
0
180
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
230
The Arts and Crafts of Work in the AI Era — Toward Mastery in Software Development
kuranuki
1
750
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
390
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
2k
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
270
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
390
Webフレームワークの ベンチマークについて
yusukebe
0
160
ふつうのFeature Flag実践入門
irof
7
3.7k
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
12k
Featured
See All Featured
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
Ethics towards AI in product and experience design
skipperchong
2
310
Git: the NoSQL Database
bkeepers
PRO
432
67k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
250
Unsuck your backbone
ammeep
672
58k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
140
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
Transcript
ESNext の議論に参加しよう フロントエンドカンファレンス福岡 2019 前夜祭 pixiv Inc. petamoriken 2019.11.15
2 自己紹介まわり • 主にフロントエンドエンジニア • ECMAScript や WHATWG DOM を追うのが好き
11/20(水) 19:30~ Three.js Meetup Tokyo #0 サテライト会場を福岡でやるのでよければどうぞ https://connpass.com/event/154480/ petamoriken 課題解決部
3 知らない間に JavaScript の新機能が ブラウザ / TypeScript に入っていた (例)Optional Chaining
Nullish Coalescing Operators こんな経験はありませんか?
4 ES5.1 / ES2015 (ES6) / ES2019 ECMAScript を知っていますか?
5 Stage 4 (ES2020) / Stage 3 / Stage 2
ESNext を知っていますか?
6 ESNext について知ってもらう 更に言語仕様策定に参加してもらう この発表の目的
7 ESNext の策定プロセス • Stage 1 Proposal ◦ 担当者が決まる •
Stage 2 Draft ◦ 最初の仕様文書が作られる • Stage 3 Candidate ◦ 仕様文書が完成し、レビューが完了する • Stage 4 Finished (ES2020) ◦ polyfill ではない2つの実装で互換性が確認される
8 Ecma International TC39 • JavaScript の言語仕様 ECMAScript を策定する専門委員会 •
提案一覧は GitHub 上で管理されている ◦ https://github.com/tc39/proposals • だいたい2ヶ月おきに会議を開いている ◦ アジェンダ: https://github.com/tc39/agendas ◦ 議事録: https://github.com/rwaldron/tc39-notes
9 My Scrapbox • 個人的に TC39 の会議の内容をまとめているのでよければどうぞ https://scrapbox.io/petamoriken/ECMAScript
10 実際の提案を見てみよう • Stage 1 Record / Tuple (2019-10 に議題に出た提案)
◦ https://github.com/tc39/proposal-record-tuple ◦ Object / Array のリテラルに # をつけて Immutable な Record Types を作る const tuple1 = #[1, 2, 3]; // 値を取り出すときは普通の Array と同じ assert(tuple1[0] === 1); // Tuple#with によって値を変更した新たな Tuple を作る const tuple2 = tuple1.with(0, 2); assert(tuple1 !== tuple2); assert(tuple2 === #[2, 2, 3]);
11 議論に参加するには • 新規提案については ES Discuss というメーリングリストへ ◦ TC39 members
に見られて Stage 1 に入れてもらえることもある (例)Float16Array トピックに polyfill を放り込んだら Stage 1 にしてもらえた
12 議論に参加するには • 既存の提案については該当のリポジトリの issues へ ◦ Stage 3 はブラウザ
/ TypeScript に実装し始める段階 ◦ Stage 2 以前の段階で意見を言うとよさそう (例)Stage 1 Math Extensions の Math.sum に誤差補正を入れる提案 https://github.com/rwaldron/proposal-mat h-extensions/issues/4
13 JavaScript and evidence-based language design survey • 今年5月末に Mozilla
が出した Stage 1 Pipeline Operators についてのアンケート
14 もうすぐ仕様が確定する提案 • Stage 2 Temporal https://github.com/tc39/proposal-temporal • Date を置き換える提案
• 現段階の提案仕様の polyfill を用意していて フィードバックを求めている • 年末に Stage 3 になる予定なので それまでに触って何かあれば意見を! https://pipobscure.github.io/temporal-2019-10/#19
15 まとめ • TC39 はフィードバックを求めています • ブラウザ / TypeScript に実装が入り始める
Stage 3 では仕様は確定しています ◦ Stage 2 以下の提案もちゃんと見ていこう! ◦ 議論に参加しよう! 意見を言っていこう! • 毎回 TC39 の会議を Scrapbox にまとめているのでよければどうぞ https://scrapbox.io/petamoriken/ECMAScript