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
De volta ao Futuro do JS: As próximas features ...
Search
Willian Martins
August 08, 2020
Technology
110
0
Share
De volta ao Futuro do JS: As próximas features e propostas incríveis
Willian Martins
August 08, 2020
More Decks by Willian Martins
See All by Willian Martins
Empirical Observations on the The Future of Scalable UI Architecture
wmsbill
0
160
Além do else! Categorizando Pokemóns com Pattern Matching no JavaScript
wmsbill
0
880
Back to the future of JS II: Beyond what we can foresee
wmsbill
0
130
A, B, C. 1, 2, 3. Iterables you and me.
wmsbill
0
100
Back to the future of JS II: Beyond what we can foresee
wmsbill
0
140
Back to the future of JS.
wmsbill
0
11
Node conf ar 2018.
wmsbill
0
650
Back to the future of JS
wmsbill
1
86
Back to the future of JS
wmsbill
2
280
Other Decks in Technology
See All in Technology
Tour of Agent Protocols: MCP, A2A, AG-UI, A2UI with ADK
meteatamel
0
190
Sansanの認証基盤を支えるアーキテクチャとその振り返り
sansantech
PRO
1
140
Blue/Green Deployment を用いた PostgreSQL のメジャーバージョンアップ
kkato1
1
220
会社紹介資料 / Sansan Company Profile
sansan33
PRO
16
410k
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
3
2.1k
Even G2 クイックスタートガイド(日本語版)
vrshinobi1
0
190
AWS DevOps Agent or Kiro の使いどころを考える_20260402
masakiokuda
0
140
GitHub Actions侵害 — 相次ぐ事例を振り返り、次なる脅威に備える
flatt_security
12
7.3k
Zephyr(RTOS)でARMとRISC-Vのコア間通信をしてみた
iotengineer22
0
120
OCI技術資料 : ロード・バランサ 概要 - FLB・NLB共通
ocise
4
27k
JSTQB Expert Levelシラバス「テストマネジメント」日本語版のご紹介
ymty
0
110
20260326_AIDD事例紹介_ULSC.pdf
findy_eventslides
0
340
Featured
See All Featured
We Are The Robots
honzajavorek
0
210
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
250
4 Signs Your Business is Dying
shpigford
187
22k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.6k
The Language of Interfaces
destraynor
162
26k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
510
The Mindset for Success: Future Career Progression
greggifford
PRO
0
290
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Transcript
E ai, Beleza?
Quem é você!?
Pq vc tá aqui?
https://github.com/tc39/proposals
BrazilJS - ES
@wmsbill O que é this?
@wmsbill this no escopo global Browser - window Web worker
- self NodeJS - module.exports
@wmsbill this dentro de uma função?
@wmsbill this dentro de uma função?
None
@wmsbill Como fazer this ser previsível? Entender o valor de
this é complicado Function.prototype.bind Arrow function () => {}
Com .bind()
Com Arrow
@wmsbill Invocando uma função conhecida
@wmsbill Extraindo um método de um objeto
None
@wmsbill Duas sintaxes Unária : :context.method() Binária context: :method()
@wmsbill Sintaxe unária
@wmsbill Sintaxe Binária
@wmsbill
@wmsbill
@wmsbill
@wmsbill Operador Bind é útil para métodos virtuais Mas precisa
que do this para ser travado
@wmsbill Compondo sem this
@wmsbill
@wmsbill
None
@wmsbill Operador pipeline |> Sintaxe sugar para composição de funções
Cria uma cadeia de funções fluida
@wmsbill Operador pipeline |>
@wmsbill
@wmsbill
@wmsbill
@wmsbill Função com mais de um parâmetro.
@wmsbill Função com mais de um parâmetro.
@wmsbill Awaiting uma função
@wmsbill Awaiting uma função
@wmsbill Awaiting uma função
@wmsbill Awaiting uma função
@wmsbill Awaiting uma função
None
@wmsbill Smart pipeline Dois tipos bare style e topic style
() e [] são proibidos no bare style Quando () ou [] é necessário, usa- se o topic style # é um token temporário
@wmsbill Smart pipeline
@wmsbill What about curry?
None
@wmsbill Proposta de pipeline F# Extende a proposta mínima com
o passo await O passo await espera pela resolução do passo anterior.
@wmsbill Proposta de pipeline F#
@wmsbill
@wmsbill Partial application f(…) aridade = n; partialapp(f(…)) aridade =
m; m < n
@wmsbill
@wmsbill
@wmsbill Partial application no JS Possível com Function.prototype.bind .bind() trava
contexto e parametros
@wmsbill
@wmsbill Mas e o currying? É possível fazer partial application
com curry Curry ≠ Partial application Curry retorna aridade n-1
@wmsbill
@wmsbill Partial application com arrow function
None
@wmsbill Proposta partial application Cria dois novos tokens de parametros
? Para argumento único . . . para múltiplos argumentos (não está mais na spec inicial)
@wmsbill Syntaxe do partial application
@wmsbill With arbitrary parameter
None
@wmsbill Partial application em template string
@wmsbill Partial application em template string
None
@wmsbill O token . . . Espalha os argumentos não
travados Útil quando se quer travar ou o primeiro ou o último parâmetro
@wmsbill O token . . .
@wmsbill O token . . .
@wmsbill Partial application + pipeline
@wmsbill Partial application + pipeline
@wmsbill Posso usar isso em produção? Essas propostas estão em
estágios muito iniciais A adoção de uma pode mudar ou eliminar a adoção de outra Não está pronta pra prod (ainda)
https://www.twitch.tv/williandev https://twitter.com/wmsbill
[email protected]
Valeus! Falows!