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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Lucas Santos
July 10, 2023
Technology
93
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
120
Escalando globalmente com TypeScript e JavaScript na Klarna
khaosdoctor
0
210
TypeScript tips that could save your life
khaosdoctor
0
240
É hora de falar sobre Deno
khaosdoctor
0
90
JS Software testing for beginners
khaosdoctor
0
100
Ambientes dinâmicos com GitHub Actions
khaosdoctor
0
61
The Dark Side of JavaScript
khaosdoctor
0
93
Integrating Containers Into JavaScript
khaosdoctor
0
86
Entendendo o ecossistema de containers
khaosdoctor
1
1.1k
Other Decks in Technology
See All in Technology
SONiCのNETCONFサーバ機能を試してみた
sonic
0
110
“詰む”前に仕組みを作れ 〜技術の波に溺れないためのキャッチアップ術〜
takasyou
7
3.5k
フィジカル版Github Onshapeの紹介
shiba_8ro
0
320
SONiC実機とGNS3 SONiC VSによる事前コンフィグ検証 ― 生成AIエージェントを環境構築・検証支援に使ってみた ―
sonic
0
110
AWS Security Agent といっしょに脅威モデリングをやってみよう
amarelo_n24
1
200
SONiCのLinuxベースを活かしたZabbix監視
sonic
0
280
ロボティクスの技術 / Robotics Technology
ks91
PRO
0
130
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
3k
5分でわかるDuckDB Quack
chanyou0311
2
230
データレイクの「見えない問題」を可視化する
sansantech
PRO
1
190
Flow 不死:AI 時代 DevOps 的不變本質
cheng_wei_chen
2
480
事業会社における 機械学習・推薦システム技術の活用事例と必要な能力 / ml-recsys-in-layerx-wantedly-2026
yuya4
0
160
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
210
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Music & Morning Musume
bryan
47
7.2k
Building AI with AI
inesmontani
PRO
1
1.1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
170
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
630
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
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