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は10年でこんなに進化しました / TechFeed Experts Ni...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
OKUNOKENTARO
January 18, 2023
Technology
1.8k
6
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
TypeScriptは10年でこんなに進化しました / TechFeed Experts Night 11
2023/1/18に発表した資料です。
OKUNOKENTARO
January 18, 2023
More Decks by OKUNOKENTARO
See All by OKUNOKENTARO
トレタO/X アーキテクチャ移行記 Next.js App Router化への道のり / TORETA TECH UPDATE 1
okunokentaro
5
12k
Podcastを継続する技術 / refactoradio-240119
okunokentaro
1
220
Webアプリケーション設計の第一歩は ディレクトリの整理から / Encraft 1
okunokentaro
33
10k
JSONとJSON Schemaを改めて理解する / tokyo_study
okunokentaro
9
2.5k
それでもどうしてRecoilを使うのか / Harajuku.ts Meetup Recoil
okunokentaro
19
5.7k
Hasura.io RDBをサクサク作る方法はARやO/RMだけじゃなくなりました/hasura-io
okunokentaro
5
730
コードには型アノテーションよりも要件アノテーションを増やせ!/harajukuts2
okunokentaro
14
6.6k
10年と3ヶ月でWebサービスを作った話 / Piyogrammer Conference 2021
okunokentaro
2
1.1k
any禁止 絶対に型付けを諦めないための便利なユーティリティ関数 / techstand6
okunokentaro
21
6.9k
Other Decks in Technology
See All in Technology
20260807_第6回_関東kaggler会LT_claw系bot xangiと始める、"寂しくない" kaggle
sugupoko
0
200
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
19k
AI ネイティブな組織に Gemini Enterprise Agent Platform がなぜ必要なのか
asei
1
190
ガバメントクラウドでのランサムウェア対策
techniczna
2
1k
Invisible to AI? Making TYPO3 Sites Quotable by AI Search Systems
wolfgangwagner
0
170
新しい SLO が良い感じにハマっている話
z63d
5
2.1k
【CEDEC2026】コードレビュー支援ツール開発から学ぶ:LLMを用いた業務システムの実践的な運用設計と誤出力対策
cygames
PRO
0
630
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
2
640
【CEDEC2026】ゲームシナリオライターを支援するAIツール開発の実践 ― 設計とプロンプトの工夫 ―
cygames
PRO
1
770
GitHub CopilotのFinOps- AI CreditのObservabilityと価値を生むためのエージェント設計
yuriemori
0
140
Pavlokで始める電撃駆動開発
sgrsn
0
180
Flutterをカメラで動かしたかった話
sony
1
130
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Un-Boring Meetings
codingconduct
0
380
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
500
Mobile First: as difficult as doing things right
swwweet
225
10k
4 Signs Your Business is Dying
shpigford
187
22k
Facilitating Awesome Meetings
lara
57
7.1k
Designing for Performance
lara
611
70k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
360
Mind Mapping
helmedeiros
PRO
1
300
Context Engineering - Making Every Token Count
addyosmani
9
1k
Transcript
5ZQF4DSJQU Ͱ͜ΜͳʹਐԽ͠· ͨ͠ +BO 5FDI'FFE&YQFSUT/JHIU+BWB4DSJQU5ZQF4DSJQU࠷લઢ !PLVOPLFOUBSP
୭ w Ԟݡଠ!PLVOPLFOUBSP w ΫϨεΣΞגࣜձࣾ w 5ZQF4DSJQUྺ w ϑϩϯ τΤϯ
υ ɾ όοΫΤϯ υ
5ZQF4DSJQUࡀ w 5ZQF4DSJQU݄ੜ·Ε w ʹύϒϦ οΫͱͳΔ w ʹͯϑΟ ʔ υόοΫΛͱʹվྑ͠Λࢦ͢
w Array͕Array<T>ʹͳΔ w ݄ʹ͕Ϧ Ϧʔε
5ZQF4DSJQUY w %F fi OJUFMZ5ZQFE ʢ༗ࢤίϛϡχςΟʣ ʹͯ ࣍ʑ
ͱ+4ϥΠ ϒϥ Ϧ༻ͷܕఆٛϑΝΠϧ(.d.ts)͕࡞͞ΕΔ w OQNͰཧ͞Ε͍ͯͳ͍࣌ w ܕఆٛґଘղܾπʔϧͱ͍͏ͷ͕ผʹ͋ͬͨ
5ZQF4DSJQUY w %F fi OJUFMZ5ZQFEͷܕఆٛϑΝΠϧ͕OQNʹͯཧ͞ΕΔ w ͍·ͨΓલ w @types/somethingΠϯε
τʔϧෆཁͰแ͍ͯ͠Δ͜ͱ͢Β͋Δ w ৽֓೦ͷొ w --strictNullChecks w neverܕ
5ZQF4DSJQUͷࠎ֨Λ࡞ͬͨ࣌ w 5VQMF5ZQFT w 6OJPO5ZQFT w
5ZQF(VBSET w 4USJOH-JUFSBM5ZQFT w .BQQFE5ZQFT w $POEJUJPOBM5ZQFT
5ZQF4DSJQUY w ৽֓೦ͷొ w unknownܕ w Α ΓߴͳܕఆٛͷͨΊͷվྑ w
Y·Ͱͷ৽ػೳʹର͢Δ֦ுվྑ w Α Γݡ͍ܕਪͱܕΨʔ υ
IUUQTRJJUBDPNBEWFOUDBMFOEBSPLVOPLFOUBSPUT 5ZQF4DSJQUҰਓΞ υϕϯ τΧϨϯμʔ
5ZQF4DSJQU w 5FNQMBUF-JUFSBM5ZQFT w ໘ന͍͜ͱΓ์ w ԼهλΠ τϧͰݕࡧ wʰ5ZQF4DSJQUܕύζϧͰ࡞ΔNJOJJOUFSQSFUFSʱ
wʰ5ZQF4DSJQUͷܕఆٛͰຑͷఆΛ͢Δʱ
5ZQF4DSJQU w 3FDVSTJWF$POEJUJPOBM5ZQFT w $POEJUJPOBM5ZQFTͷܕܾఆॲཧ͕࠶ؼՄೳʹͳͬͨ w ΧϨϯμʔ ʰ࣮ྫRecursivePartial<T>ʱ ʹͯհ
IUUQT[FOOEFWPLVOPLFOUBSPBSUJDMFTHNQLQH[CHLINCLBQDL
5ZQF4DSJQU w --useUnknownInCatchVariables w DBUDIϒϩοΫͰͷFSSม͕σϑΥϧ τͰunknownܕѻ͍͞ΕΔΑ ͏ʹͳͬͨ w ·Ͱanyܕ
w Ҏ߱ɺ ΦϓγϣφϧͰunknownܕʹมߋ
5ZQF4DSJQU w /PEFKTʹ͓͚Δ&4.PEVMFʹରԠ͢ΔͨΊͷίϯύΠϧ ɾ ΦϓγϣϯՃ w ͔Βʹ͔͚ͯ$+4 &4.ؔ࿈ͷରԠΛॆ࣮ wʰ5ZQF4DSJQUͱ/BUJWF/PEFKT&4.ʱ
ʹৄ͍͠ IUUQTRVSBNZNFEJVNDPNUZQFTDSJQU&"OBUJWFOPEFKTFTNBCB
5ZQF4DSJQU w satisfies0QFSBUPS w ٱʑʹ৽֓೦ w ຊͷࣛ͞Μͷ ʰ5ZQF4DSJQUͷBTDPOTUTBUJT fi
FT͕ศརʱ ͕ৄ͍͠
ਐԽͷ w 5ZQF4DSJQU͔Β·Ͱౖ౭ͷਐԽͩͬͨ w ʑมΘΔۀ্ͰͷςΫχοΫ w ػೳՃͷͨͼʹ ʮ͋ΕͲ͜Ͱ͑Δʯ Λߟ͍͑ͯ͘ w
Ҏ߱Ұൠతͳ։ൃۀΛ͜ͳ͢ݶΓͰɺ ͔ͳΓΏΔ͔ͳਐԽ w ΏΔ͔͚ͩͲ͔Ώ͍ͱ͜Ζʹख͕ಧ͘ਐԽ͕૿͑ͨ w ܕఆٛ࡞ऀʹͱͬͯ ʮͬͯ·ͨ͠ʯ ͳػೳՃ͕ଟ͍͕ όʔδϣϯ͘ Β͍ͳΒΩϟονΞοϓ͕Εͯେৎ ʂ w ͓ͬͯ͘ ͱ ʮۀ্Ͱͪΐͬͱॿ͔Δʯ ͷස͕૿͑ͯ͘ Δ͔
ֶशํ๏ͷεεϝ w 5ZQF4DSJQUॳֶऀʹઐॻͱํͷΞ υϕϯ τΧϨϯμʔ ̎ ̑ هࣄΛΦεεϝ w ઐॻˠཏతʹ֬ೝͰ͖Δ
w Ξ υϕϯ τΧϨϯμʔˠۀ্ͰͷΛ๛ʹհ w ࠓޙͲ͏ ͍ͯ͘͠ ͱΑ͍͔ ʁ w 5ZQF4DSJQUࣗମͷΩϟονΞοϓ͢Δͱͯ͠ɺ Ή͠ΖपลࣄʹڵຯΛͭ͜ͱΛΦεεϝ w %FOPͱ ʁ #VOͱ ʁ &4ͱ ʁ 5$ͱ ʁ w Ϟδϡʔϧࣄ ʁ $+4 &4. όϯ υϧࣄ ʁ ʢ5VSCP 7JUFͳͲʣ
5IBOLZPV