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
petamoriken / 森建
November 15, 2019
Programming
3
880
ESNext の議論に参加しよう / Join the ESNext discussion
フロントエンドカンファレンス福岡 2019 前夜祭&リジェクトコン
https://fec-fukuoka.connpass.com/event/154737/
petamoriken / 森建
November 15, 2019
Tweet
Share
More Decks by petamoriken / 森建
See All by petamoriken / 森建
Denoでフロントエンド開発 2025年春版 / Frontend Development with Deno (Spring 2025)
petamoriken
1
1.4k
非ブラウザランタイムとWeb標準 / Non-Browser Runtimes and Web Standards
petamoriken
0
550
ふかぼれ!CSSセレクターモジュール / Fukabore! CSS Selectors Module
petamoriken
0
250
フロントエンドの標準仕様をどう追っているか / How I follow the frontend standards specs
petamoriken
4
2.3k
ECMAScript、Web標準の型はどう管理されているか / How ECMAScript and Web standards types are maintained
petamoriken
3
570
DOM Observable
petamoriken
1
280
Deno に Web 標準 API を実装する / Implementing Web standards API to Deno
petamoriken
0
710
Contributing to Deno is fun!
petamoriken
0
390
Stage 2 Decorators の変遷 / Stage 2 Decorators history
petamoriken
0
7k
Other Decks in Programming
See All in Programming
Swift Updates - Learn Languages 2025
koher
2
470
Putting The Genie in the Bottle - A Crash Course on running LLMs on Android
iurysza
0
140
Namespace and Its Future
tagomoris
6
700
速いWebフレームワークを作る
yusukebe
5
1.7k
請來的 AI Agent 同事們在寫程式時,怎麼用 pytest 去除各種幻想與盲點
keitheis
0
110
アルテニア コンサル/ITエンジニア向け 採用ピッチ資料
altenir
0
100
Tool Catalog Agent for Bedrock AgentCore Gateway
licux
6
2.3k
Ruby Parser progress report 2025
yui_knk
1
420
Design Foundational Data Engineering Observability
sucitw
3
190
Cache Me If You Can
ryunen344
1
610
モバイルアプリからWebへの横展開を加速した話_Claude_Code_実践術.pdf
kazuyasakamoto
0
320
AI Coding Agentのセキュリティリスク:PRの自己承認とメルカリの対策
s3h
0
200
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
187
55k
Being A Developer After 40
akosma
90
590k
The Cult of Friendly URLs
andyhume
79
6.6k
For a Future-Friendly Web
brad_frost
180
9.9k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Music & Morning Musume
bryan
46
6.8k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
840
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Practical Orchestrator
shlominoach
190
11k
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