Upgrade to Pro — share decks privately, control downloads, hide ads and more …

TypeScript 上達の道

Avatar for Kanon Kanon
July 25, 2025

TypeScript 上達の道

QiitaTechFesta 2025 (#QiitaTechFesta) の登壇資料です。

Avatar for Kanon

Kanon

July 25, 2025
Tweet

More Decks by Kanon

Other Decks in Technology

Transcript

  1. 3 自己紹介 そういうお前はさぞお上手なんやろなぁ? Kanon • Type Challenges のメンテナ ◦ 一応全問解いた

    ◦ 型パズルの解きかたの本を書いたり • UnJSとかNitroとかにコントリビュートしてる
  2. 6 Maintainer の仕事 補足: Type Challengesとは • 新しく作られた問題(PR)をマージする ◦ 自分自身も新しい問題を作る

    • 過去の問題に対するテストケースの追加 • より学習効率が高くなるような機能の追加 • 利用しているライブラリのバージョンアップ対応など
  3. 8 ⚠ おことわり⚠ あくまで 僕の場合は です • 効果を保証するものではない ◦ ので

    X とか はてブ コメントで攻撃とかやめてね。。。 • 練習方法のひとつとして持っておけるような話にはなると思う • 型に絞った話をする ◦ “TypeScript 上達への道” なので • TaPLとかで扱うような型検査の詳しい話とか、メンタルモデルがどうこうみたいな高 尚な話はしません
  4. 13 “型を使いこなす”の定義 前提の認識合わせ2 Lv. 5 Lv. 4 Lv. 3 Lv.

    2 Lv. 1 基本的な型注釈がつけられる 型エイリアスやインターフェースを使って構造化され たデータ型が定義できる ユニオン型・リテラル型・列挙型の活用 ジェネリクスの活用 Conditional Types, Mapped Types, Index Access Type の活用
  5. 18 条件型・マッピング型・インデックス型の応用 Lv. 5 • Conditional Types, Mapped Types, Index

    Access Types • infer, as, keyof, typeof • これらを組み合わせて複雑な構造 or 抽象的な型を作れる
  6. 20 いきなりType Challengesは全然おすすめできない レベルに合わせた学習 • Type Challenges はレベル5まで できる 前提で問題が存在する

    ◦ 初心者がいきなりやると挫折する確率が高い ◦ 僕も挫折した • Type Challenges に取り組むまでにしておきたいことを以降はレベル別に紹介す る • まずはLv.1~5の全てに対して わかる 段階に持っていく
  7. 21 公式ドキュメントや書籍を読む Lv. 1 ~ 3 まで • 公式ドキュメント •

    サバイバル TypeScript • うひょ さんのブルーベリー本 上二つも十分わかりやすく なにより無料
  8. 22 type-fest のコードを読んでみる Lv. 4 ~ 5 • TypeScriptのUtility Type集

    • Type Challenges の冒頭でも紹介され ている • コメントに処理のイメージが書かれてた りするので、具体的なイメージも湧きや すくおすすめ
  9. 23 Merge type-fest サンプル1 • Destination, Source はジェネリクス • Simplifyってなにするの?

    • SimpleMergeって何するの? • PickIndexSignatureって何するの? この辺を追っていくことで Conditional Typesとか もろもろ使い方を覚えられる 知らないものが出てきたら 公式ドキュメントへ戻る これを繰り返す
  10. 24 Type Challenges に取り組む Lv. 1 ~ 5 までを使いこなす •

    全部解く必要はないと思う ◦ hardからは型システムで計算とかし始める ◦ 「すごいけど実戦でいつ使うんそれ」な問題が大半 ◦ mediumまでを3周くらいすれば実戦でも勝手に手が動くようになる ◦ その頃にはOSSライブラリの型定義とかも難なく「読める、読めるぞぉ」となる(と思う)
  11. 31 Kanon流 TypeScript 上達への道 まとめ • 自分のレベルを把握する • レベルに応じたトレーニングをする ◦

    ドキュメントなどを読む ◦ type-fest などの既存のUtility ライブラリを読む ◦ Type Challengesに取り組む • 知らない概念が出てきたら、戻る • とにかくやる