Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Types in Real Life
Search
Sibelius Seraphini
July 13, 2018
Technology
4
290
Types in Real Life
Practical approve to types in javascript
Sibelius Seraphini
July 13, 2018
Tweet
Share
More Decks by Sibelius Seraphini
See All by Sibelius Seraphini
Por que criar uma nova Fintech?
sibelius
1
27
As Dores de uma Fintech
sibelius
1
280
Woovi - Safe Coding Practices
sibelius
1
71
⛔ No Cloud: how Woovi moved from the Cloud to its own servers
sibelius
1
710
React Colocation
sibelius
2
290
The Frontend Dichotomy
sibelius
5
720
React Native Bridges Architectures
sibelius
2
1.3k
What's next?
sibelius
3
640
ReactConfBR - Is Relay Modern the Future?
sibelius
3
920
Other Decks in Technology
See All in Technology
[Neurogica] 採用ポジション/ Recruitment Position
neurogica
1
130
Snowflake Industry Days 2025 Nowcast
takumimukaiyama
0
110
Claude Skillsの テスト業務での活用事例
moritamasami
1
110
事業の財務責任に向き合うリクルートデータプラットフォームのFinOps
recruitengineers
PRO
2
230
テストセンター受験、オンライン受験、どっちなんだい?
yama3133
0
170
AI駆動開発の実践とその未来
eltociear
2
500
フィッシュボウルのやり方 / How to do a fishbowl
pauli
2
390
AI との良い付き合い方を僕らは誰も知らない
asei
0
270
Claude Codeを使った情報整理術
knishioka
11
7.6k
マイクロサービスへの5年間 ぶっちゃけ何をしてどうなったか
joker1007
21
8.2k
ペアーズにおけるAIエージェント 基盤とText to SQLツールの紹介
hisamouna
2
1.7k
ソフトウェアエンジニアとAIエンジニアの役割分担についてのある事例
kworkdev
PRO
0
280
Featured
See All Featured
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
0
960
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
0
96
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
860
Chasing Engaging Ingredients in Design
codingconduct
0
85
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
0
31
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
65
Joys of Absence: A Defence of Solitary Play
codingconduct
1
260
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
0
22
Transcript
Types in Real Life How to improve your dev workflow
Sibelius Seraphini
Sibelius Seraphini @sibelius @sseraphini 2
- Motivation - Basics - Sum types - Generics -
REST api study case - React - Redux - Utilities Outline 3
Type System in JS 4
- Less bugs - More maintainability - Type Driven Development
Motivation 5
- Better tools support - Code completion - Refactor -
Documentation - Jump to definition Motivation 6
- Types are set of values - string - 'a'
| 'b' | 'c' | ... - number - 1 | 2 | 3 | ... - boolean - true | false - function - string -> boolean | ... - object - { a: string, b: number } | ... What are Types? 7
Typing a variable 8
Typing a function 9
Typing an object 10
Nominal Typing 11 - C++, Java, Swift
Structural Typing 12 - OCaml, Haskell, Elm
Typing an array 13
Sum/Union Type 14
Intersection Type 15
- How to type a function that can be used
for any type of array (int[], string[], number[])? Generics 16
Generics 17
18 Optional type
- type the input - api body payload - headers
- query string Typing a REST API 19
- type the output (response) - Get a json output
of a REST api - Transform json to types - https://transform.now.sh/json-to-flo w-types/ Typing a REST API 20
Typing a REST api 21
Typing a REST api 22
Typing a React Component 23
Typing a React Component (TS) 24
Typing a React Component 25
Typing a HOC 26
Typing Redux 27
Typing Redux 28
Typing Redux 29
Flow Type Utilities 30
TypeScript Utilities Mapped Types 31
TypeScript Utilities Conditional Typing 32
Resources 33 - https://github.com/entria/guidelines/tree/ master/flow - https://flow.org/en/docs/lang/ - https://www.typescriptlang.org/docs/ho me.html
- https://github.com/fantasyland/fantasy-l and - https://github.com/gcanti/flow-static-land
Resources 34 - https://medium.com/javascript-scene/m aster-the-javascript-interview-what-is-fu nctional-programming-7f218c68b3a0 - https://medium.com/@matthiasak/state- of-the-union-js-d664bdbffd14 -
https://mitpress.mit.edu/books/types-an d-programming-languages - https://github.com/niieani/typescript-vs-fl owtype
Resources 35 - https://transform.now.sh/json-to-flow-typ es/
I didn't mention 36 - More about Type Theory -
Functional Programming - Types + Functional - Fantasy Land specs - Realworld problems and solutions
Sibelius