Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ESNext の議論に参加しよう / Join the ESNext discussion
Search
petamoriken / 森建
November 15, 2019
Programming
980
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 / 森建
Security issues being discussed on Web Platforms
petamoriken
0
760
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
240
WebAssembly を読み込むベストプラクティス 2026年春版 / Best Practices for Loading WebAssembly (Spring 2026)
petamoriken
5
1.3k
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
290
Module Harmony
petamoriken
3
1.2k
Denoでフロントエンド開発 2025年春版 / Frontend Development with Deno (Spring 2025)
petamoriken
1
1.6k
非ブラウザランタイムとWeb標準 / Non-Browser Runtimes and Web Standards
petamoriken
0
690
ふかぼれ!CSSセレクターモジュール / Fukabore! CSS Selectors Module
petamoriken
0
350
フロントエンドの標準仕様をどう追っているか / How I follow the frontend standards specs
petamoriken
4
2.8k
Other Decks in Programming
See All in Programming
XHTMLが残したもの
yosuke_furukawa
PRO
2
700
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
210
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
350
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
120
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
140
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
150
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
230
「AI時代、配布するPythonコードをどう守るか: 難読化の実験と判断軸」 #PyconJP2026
pkshadeck
PRO
2
200
App Intentsのビルドプロセスを支える技術
kntkymt
0
260
Laravelのアプリケーションをどこにデプロイするか #ツナギメオフライン.9
akase244
0
120
Building an Out-of-Order CPU
latte72
1
750
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
780
Featured
See All Featured
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
Darren the Foodie - Storyboard
khoart
PRO
3
3.9k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
490
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Technical Leadership for Architectural Decision Making
baasie
3
560
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Are puppies a ranking factor?
jonoalderson
2
3.9k
Abbi's Birthday
coloredviolet
3
9.9k
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