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
The future of JavaScript
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Lucas Santos
July 10, 2023
Technology
96
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
The future of JavaScript
Lucas Santos
July 10, 2023
More Decks by Lucas Santos
See All by Lucas Santos
The Hitchhiker's Guide for an Amazing API with TypeScript
khaosdoctor
0
130
Escalando globalmente com TypeScript e JavaScript na Klarna
khaosdoctor
0
220
TypeScript tips that could save your life
khaosdoctor
0
250
É hora de falar sobre Deno
khaosdoctor
0
96
JS Software testing for beginners
khaosdoctor
0
110
Ambientes dinâmicos com GitHub Actions
khaosdoctor
0
70
The Dark Side of JavaScript
khaosdoctor
0
98
Integrating Containers Into JavaScript
khaosdoctor
0
88
Entendendo o ecossistema de containers
khaosdoctor
1
1.5k
Other Decks in Technology
See All in Technology
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
NANDでも描画したい!
nichica906
3
820
アクセスキー流出時の対応で再認識した攻撃側と防御側の非対称性について
kazzpapa3
1
440
最新技術に積極チャレンジ!EKS共通基盤のこれまでとこれから
daitak
0
250
AI時代のデータ基盤を考える問い
pacocat
0
740
パスキーでドライブする アカウント統合(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
370
LLMアプリ、 雰囲気で運用してませんか? 〜LLMOpsの現在地〜
taka_aki
1
570
dbt in Microsoft Fabric
ryomaru0825
0
300
Microsoft MVP プログラムを紹介するから目指す人増えてくれ
tsubakimoto_s
0
150
全社に広がるMCPサーバーを、 どう安全に管理するか MCPass開発の舞台裏
mtpooh
3
180
IHV like なユースケースへのOpenID Connect 関連仕様の適用事例
optim
0
360
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
20k
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Become a Pro
speakerdeck
PRO
31
6.2k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.2k
Mobile First: as difficult as doing things right
swwweet
225
10k
Unsuck your backbone
ammeep
672
58k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
310
Navigating Team Friction
lara
192
16k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
260
Designing for Performance
lara
611
70k
30 Presentation Tips
portentint
PRO
1
380
Transcript
The future of JS it's not about what it is,
but what it could be
who am I_ {twitter, youtube, linkedin…}.lsantos.dev software engineer_
[email protected]
agenda_ - How JS actually evolves - What's coming next
- 👍 - stage 4 proposals - 🤩 - stage 3 proposals - 🤔 - stage 2 proposals - 👀 - stage 1 proposals - Final remarks and refs
How JS evolves?
JS is actually not JS
What is JS
What is JS
What is JS
What is JS this is JavaScript
What is JS this is JavaScript
What is JS this is JavaScript
What is JS this is JavaScript these are the caretakers
TC39 is organized in stages
there are 5 stages (or 4)
summary - Stage 0 - Draft - Stage 1 -
Better draft - Stage 2 - Definition - Stage 3 - Refinements - Stage 4 - Shipping 🚀
warning
Stage 4 things that are shipped!
RegEx unicode sets mode
aka: the v flag
RegEx v flag
RegEx v flag
RegEx v flag
RegEx v flag https://lsantos.dev/v8-regexp-v
RegEx v flag https://lsantos.dev/mdn-regex-set
Change array by copy
change array by copy
change array by copy
change array by copy
change array by copy https://lsantos.dev/mdn-array-copy
Stage 3 things that are done
temporal
temporal
temporal
temporal https://blog.lsantos.dev/temporal-api/
temporal https://lsantos.dev/tc39-temporal
what's the status?
testing temporal
explicit resource management
aka: using
using
using
using
using constructor called
using constructor called conn[Symbol.dispose]() called as scope ends
async using
async using https://lsantos.dev/tc39-using
JS native decorators
JS native decorators
JS native decorators
JS native decorators
JS native decorators
JS native decorators: class methods
JS native decorators: class assessors
JS native decorators: class fields
JS native decorators: classes
we cannot decorate parameters https://lsantos.dev/tc39-parameter-decorators
more resources https://lsantos.dev/tc39-decorators
more resources https://lsantos.dev/tc39-decorators https://blog.lsantos.dev/javascript-decorators/
Other proposals
other proposals - New methods to Set https://lsantos.dev/tc39-set-methods
other proposals - (async)Iterator helpers https://lsantos.dev/tc39-iterator-helpers
Stage 2 things that are getting there
throw expressions
throw expressions
throw expressions
throw expressions https://lsantos.dev/tc39-throw
immutable structures
records: immutable objects
records: immutable objects
records: immutable objects
tuples: immutable arrays
tuples: immutable arrays https://lsantos.dev/tc39-records
JSON.parseImmutable
pipeline operator
pipeline operator
pipeline operator
pipeline operator https://lsantos.dev/tc39-pipeline-op
iterator ranges
Iterator.range
Other proposals
other proposals - Array grouping https://github.com/tc39/proposal-array-grouping
other proposals - parseImmutable https://github.com/tc39/proposal-json-parseimmutable
other proposals - map.upsert https://github.com/tc39/proposal-upsert
Stage 1 things
types in JS
types in JS https://lsantos.dev/tc39-js-types
do expressions
do expressions https://lsantos.dev/tc39-do-expr
pattern matching
pattern matching https://lsantos.dev/tc39-pattern-matching
Other proposals
other proposals - Function memoization https://github.com/tc39/proposal-function-memo - Reversible split https://github.com/tc39/proposal-reversible-string-split
- slice notation https://github.com/tc39/proposal-slice-notation - operator overloading https://github.com/tc39/proposal-operator-overloading - object pick/omit https://github.com/tc39/proposal-object-pick-or-omit - parameter decorator https://github.com/tc39/proposal-class-method-parameter-decorators - structs and mutexes https://github.com/tc39/proposal-structs - Intl.MessageFormat https://github.com/tc39/proposal-intl-messageformat
refs_ - https://lsantos.dev/tc-39-type-annotations - https://lsantos.dev/tc39-process - https://lsantos.dev/tc39-stage-1 - https://lsantos.dev/tc39-stage-2 -
https://lsantos.dev/tc39-stage-3 - https://lsantos.dev/tc39-stage-4 - https://lsantos.dev/ecma-262
This talk: https://lsantos.dev/whats-next-for-js
thank you_ lsantos.dev