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
860
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
520
ふかぼれ!CSSセレクターモジュール / Fukabore! CSS Selectors Module
petamoriken
0
230
フロントエンドの標準仕様をどう追っているか / How I follow the frontend standards specs
petamoriken
4
2k
ECMAScript、Web標準の型はどう管理されているか / How ECMAScript and Web standards types are maintained
petamoriken
3
550
DOM Observable
petamoriken
1
260
Deno に Web 標準 API を実装する / Implementing Web standards API to Deno
petamoriken
0
680
Contributing to Deno is fun!
petamoriken
0
370
Stage 2 Decorators の変遷 / Stage 2 Decorators history
petamoriken
0
6.9k
Other Decks in Programming
See All in Programming
ktr0731/go-mcpでMCPサーバー作ってみた
takak2166
0
160
関数型まつり2025登壇資料「関数プログラミングと再帰」
taisontsukada
2
810
生成AIで日々のエラー調査を進めたい
yuyaabo
0
560
Datadog RUM 本番導入までの道
shinter61
1
270
Benchmark
sysong
0
180
Go Modules: From Basics to Beyond / Go Modulesの基本とその先へ
kuro_kurorrr
0
120
業務自動化をJavaとSeleniumとAWS Lambdaで実現した方法
greenflagproject
1
110
Julia という言語について (FP in Julia « SIDE: F ») for 関数型まつり2025
antimon2
3
940
GoのWebAssembly活用パターン紹介
syumai
3
10k
イベントストーミングから始めるドメイン駆動設計
jgeem
4
830
2度もゼロから書き直して、やっとブラウザでぬるぬる動くAIに辿り着いた話
tomoino
0
160
GoのGenericsによるslice操作との付き合い方
syumai
2
590
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
693
190k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Code Review Best Practice
trishagee
68
18k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Side Projects
sachag
455
42k
Agile that works and the tools we love
rasmusluckow
329
21k
Rails Girls Zürich Keynote
gr2m
94
14k
How GitHub (no longer) Works
holman
314
140k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
GraphQLの誤解/rethinking-graphql
sonatard
71
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