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
The future of JavaScript
Search
Lucas Santos
July 10, 2023
Technology
100
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
140
Escalando globalmente com TypeScript e JavaScript na Klarna
khaosdoctor
0
230
TypeScript tips that could save your life
khaosdoctor
0
270
É hora de falar sobre Deno
khaosdoctor
0
100
JS Software testing for beginners
khaosdoctor
0
120
Ambientes dinâmicos com GitHub Actions
khaosdoctor
0
83
The Dark Side of JavaScript
khaosdoctor
0
110
Integrating Containers Into JavaScript
khaosdoctor
0
100
Entendendo o ecossistema de containers
khaosdoctor
1
1.5k
Other Decks in Technology
See All in Technology
AI時代、つくる力を自分たちの手に。 ──電通×KAG、アジャイルとAI駆動開発で挑む開発の変革
yuukiyo
3
450
Agent 活用環境の構築・運用のための AWS サービスのご紹介/agentcore-for-building-and-operating-agents
ren8k
1
310
Adversary Infrastructure Hunting101
disconinja
0
190
視野はAIに、視座は人に / ai-for-breadth-humans-for-perspective
nkzn
6
2.7k
書き手が人でもAIでも正しくなる道、SREを埋め込んだDeveloper Platform / tech drivers day8
chmikata
4
890
AIエージェント時代、Kaggleにどう取り組むか
takanao
2
470
推論基盤と Scale-Up Interconnect の現状と制約から俯瞰する技術動向
markunet
2
750
Patterns in AI Driven Software Development
akosma
PRO
0
440
アクセラレーターで実現するServiceNow活用の高速化 / ServiceNow World Forum 2026
visional_engineering_and_design
0
120
ひとりで始めた AI駆動開発、チームに広げて何が変わったのか
kenichiodo
1
210
Autonomous AI Lakehouse - Live AI Hubから始めるセキュアなAIデータ活用 -
oracle4engineer
PRO
2
180
AIがGISを代替する日:〜すべてをAIが創る時代に、私たちがFOSS4Gに関わる意味〜
lehupa
0
190
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.5k
The agentic SEO stack - context over prompts
schlessera
0
990
Designing for Performance
lara
612
70k
Building an army of robots
kneath
307
47k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
340
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Designing for Timeless Needs
cassininazir
1
540
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
570
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
750
How to build a perfect <img>
jonoalderson
1
6.2k
30 Presentation Tips
portentint
PRO
1
450
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