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
Desmistificando Herança e Protótipos no JS - Short
Search
Lucas Santos
June 04, 2020
Programming
1
140
Desmistificando Herança e Protótipos no JS - Short
Lucas Santos
June 04, 2020
Tweet
Share
More Decks by Lucas Santos
See All by Lucas Santos
The Hitchhiker's Guide for an Amazing API with TypeScript
khaosdoctor
0
65
Escalando globalmente com TypeScript e JavaScript na Klarna
khaosdoctor
0
180
The future of JavaScript
khaosdoctor
0
45
TypeScript tips that could save your life
khaosdoctor
0
140
É hora de falar sobre Deno
khaosdoctor
0
63
JS Software testing for beginners
khaosdoctor
0
52
Ambientes dinâmicos com GitHub Actions
khaosdoctor
0
33
The Dark Side of JavaScript
khaosdoctor
0
57
Integrating Containers Into JavaScript
khaosdoctor
0
50
Other Decks in Programming
See All in Programming
[DroidKaigi 2024] Android ViewからJetpack Composeへ 〜Jetpack Compose移行のすゝめ〜 / From Android View to Jetpack Compose: A Guide to Migration
syarihu
1
680
開発を加速する共有Swift Package実践
elmetal
PRO
0
420
AndroidアプリのUIバリエーションをあの手この手で確認する / Check UI variations of Android apps by various means
tkmnzm
1
200
watsonx.ai Dojo #2 生成AIを使ったアプリ開発入門編
oniak3ibm
PRO
0
240
Amazon BedrockでサーバレスなAIお料理ボットを作成する!!
tosuri13
0
230
いまから追い上げる、Jetpack Compose トレーニング
nyafunta9858
0
610
KSPの導入・移行を前向きに検討しよう!
shxun6934
PRO
0
290
仮想ファイルシステムを導入して開発環境のストレージ課題を解消する
segadevtech
2
550
ドメイン駆動設計を実践するために必要なもの
bikisuke
4
330
『ドメイン駆動設計をはじめよう』中核の業務領域
masuda220
PRO
5
1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
0
130
Modernisation Progressive d’Applications PHP
hhamon
0
100
Featured
See All Featured
How to Ace a Technical Interview
jacobian
274
23k
Building Flexible Design Systems
yeseniaperezcruz
325
38k
The Cost Of JavaScript in 2023
addyosmani
42
5.7k
4 Signs Your Business is Dying
shpigford
179
21k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
663
120k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
225
22k
Docker and Python
trallard
39
3k
Principles of Awesome APIs and How to Build Them.
keavy
125
16k
The Pragmatic Product Professional
lauravandoore
31
6.2k
Typedesign – Prime Four
hannesfritz
39
2.3k
Documentation Writing (for coders)
carmenintech
65
4.3k
Building a Modern Day E-commerce SEO Strategy
aleyda
36
6.8k
Transcript
Desmistificando Herança e Prototypes no Javascript Sempre esteve lá, ninguém
sabia o porquê
$ whoami Lucas Santos /khaosdoctor @_staticvoid lsantos.me Cloud Advocate
[email protected]
@khaosdoctor
trainingcenter.io 2018.abcdevelopers.org
O.O.P
Encapsulamento
None
None
Polimorfismo
None
Arrow functions não vão funcionar
????????
Herança
Herança nos dá isso
Herança nos dá isso De onde veio isso?
De onde as coisas vem?
Tipos originais De onde tudo aparece
Array()
Function()
Object()
String Number Object Array Func RegExp
None
Como elas funcionam?
None
__proto__
Nunca toque no __proto__
Object.Prototype Não. Não é a mesma coisa
Prototype é um objeto de propriedades
O famoso “new”
Instâncias
Instâncias
Instâncias
Instâncias
Instâncias
Herança! Mas não é qualquer herança...
Herança Prototípica
Herança Prototípica
Instâncias
Cadeias de protótipos Como eu sei o que eu quero?
Cadeias de protótipos
Cadeias de protótipos
Cadeias de protótipos
Cadeia de protótipos
Cadeia de protótipos
Cadeias de protótipos: a prática
O fim da cadeia
O fim da cadeia?
E o “extends”?
Extends
Extends
Extends: Exemplo
Extends
O que eu faço com isso?
1. Métodos globais
2. Overload
2. Overload - Os problemas
None
3. Performance
3. Performance .print
3. Performance
3. Performance
Referências - bit.ly/medium-prototypes - bit.ly/ecma-proto - mzl.la/mdn-proto - mzl.la/function-js -
mzl.la/extends-jsx - bit.ly/encapsulamento-js - bit.ly/polimorfismo-js - bit.ly/this-js - bit.ly/imasters-smoosh
/khaosdoctor @_staticvoid lsantos.me @khaosdoctor