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
TypeScriptの型定義が JavaScriptのバグを駆逐する
Search
Tetsuya Negishi
February 22, 2019
Programming
970
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
TypeScriptの型定義が JavaScriptのバグを駆逐する
Tetsuya Negishi
February 22, 2019
More Decks by Tetsuya Negishi
See All by Tetsuya Negishi
SOLIDから考える良いコンポーネントの設計原則
tetsuyanegishi
1
1.6k
React Hooksで美しいコードを書く / Writing beautiful code using React Hooks
tetsuyanegishi
0
210
React初学者が知らない コンポーネント分割テクニック
tetsuyanegishi
1
520
AWS Amplifyで作るサーバーレスバックエンド
tetsuyanegishi
3
2.1k
リアルタイムデータベース Cloud Firestore入門
tetsuyanegishi
10
9k
ブロックチェーンのマイニングとはなにか
tetsuyanegishi
1
110
スクラム開発の手法と実例
tetsuyanegishi
0
270
Other Decks in Programming
See All in Programming
20260722_microCMSで考える、AI時代のコンテンツ運用設計
yosh1
0
370
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.7k
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
340
the container ship “Apple Silicon”@WWDC26 Recap -Japan-\(region).swift
shingangan
0
110
源内ハンズオン概要編
hideg
0
120
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
18k
Cloudflare is Agents
chimame
0
140
【QA Test Talk Vol.8】AI-DLC による Whole Team Approach の加速
pkshadeck
PRO
0
100
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
460
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
3.5k
Google Apps Script で Ruby を動かす
kawahara
0
130
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
670
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Optimising Largest Contentful Paint
csswizardry
37
3.9k
Navigating Team Friction
lara
192
16k
The untapped power of vector embeddings
frankvandijk
2
1.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Exploring anti-patterns in Rails
aemeredith
3
460
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
The browser strikes back
jonoalderson
0
1.5k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.7k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
240
Transcript
TypeScriptͷܕఆ͕ٛ JavaScriptͷόάΛۦஞ͢Δ ࠜ؛ప
ࣗݾհ • ࠜ؛ప • ϥϯαʔζגࣜձࣾ • ৽نࣄۀ • ओʹϑϩϯτ·ΘΓ୲ •
ڵຯؔ৺ • React, Vue.js, TypeScript • αʔόʔϨε
ࠓ͢͜ͱ • ৽ϓϩμΫτʹTypeScriptΛಋೖͯ͠ΈͯͲ͏͔ͩͬͨ • TypeScriptͪΌΜͱܕఆٛ͢Ε࠷ߴ • ͋Γ͕ͱ͏TypeScript
ϥϯαʔζͷϑϩϯτΤϯυٕज़ͷมભ 2008 ~ ݱࡏ 2015 ~ ݱࡏ 2018 ~ ݱࡏ
2017 ~ 2018
ϥϯαʔζͷϑϩϯτΤϯυٕज़ͷมભ 2008 ~ ݱࡏ 2015 ~ ݱࡏ 2018 ~ ݱࡏ
2016 ~ 2018
TypeScriptΛͬͯΘ͔ͬͨ͜ͱ ܕఆٛʹΑͬͯόά͕ܹݮ ͪΌΜͱܕఆٛ͠ͳ͍ͱόάΔ
None
JavaScriptͰΑ͘ى͖Δόά
JavaScriptͰΑ͘ى͖Δόά data ʹ number ͷྻΛೖΕΔ → Ұ࣌తʹundefind͕ೖΔύλʔϯ͕͋ͬͨ → <Graph>undefindΛఆ͓ͯ͠ΒͣΤϥʔ ReactͰΓ͕ͪ
Τϥʔ
JavaScriptͰΑ͘ى͖Δόά data ʹ Object ΛೖΕΔ → Ұ࣌తʹundefind͕ೖΔύλʔϯ͕͋ͬͨ → <Graph>undefindΛఆ͓ͯ͠ΒͣΤϥʔ ReactͰͷΤϥʔ΄΅͜ͷύλʔϯͷؾ͕͢Δ
Τϥʔ TypeScriptͰൃੜ͠ͳ͍
TypeScriptͰܕఆٛͨ͠߹
TypeScriptͰܕఆٛͨ͠߹ ? → undefinedΛڐ͢
TypeScriptͰܕఆٛͨ͠߹ propsͷܕ͕ܾ·Δ
TypeScriptͰܕఆٛͨ͠߹ data number[] ͱఆٛ͞Ε͍ͯͨͱ͢Δ
TypeScriptͰܕఆٛͨ͠߹ ͜ͷ࣌Ͱ·ͩΤϥʔ → <Graph>ʹ͢ data ͕ undefinedͰ͋ΔՄೳੑ͕͋Δ
TypeScriptͰܕఆٛͨ͠߹ undefinedͷνΣοΫ Τϥʔ͕ग़ͳ͘ͳΔ
TypeScriptͰܕఆٛͨ͠߹ undefinedͷνΣοΫ Τϥʔ͕ग़ͳ͘ͳΔ
TypeScriptͰܕఆٛͨ͠߹ undefinedͷνΣοΫ Τϥʔ͕ग़ͳ͘ͳΔ όάΛະવʹ͛ͯ࠷ߴ
• ͨͩ͜͠Εܕఆ͕͖ٛͪΜͱ͞Ε͍ͯΔ߹ • ϥΠϒϥϦͰରԠ͍ͯ͠ͳ͍߹ͨ·ʹ͋Δ → any Ͱܕఆٛͯ͠ΓΔ͔͠ͳ͍ → ٯʹόάͷԹচʹͳΓ͍͢ Graph͕ܕఆٛ͞Ε͍ͯͳ͍ͱΤϥʔ͕ग़ͳ͍
Enjoy TypeScript!