Skip to content

Instantly share code, notes, and snippets.

@mizchi
Last active July 7, 2019 08:30
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mizchi/5ab6dccaa433213bd67c8f60d2d3c668 to your computer and use it in GitHub Desktop.
Save mizchi/5ab6dccaa433213bd67c8f60d2d3c668 to your computer and use it in GitHub Desktop.
  • イントロ
    • TypeScript コード品質を向上させて生産性を上げるもの
    • 導入時に頑張りすぎて苦労してるのをよく見る・解決したい
    • 同僚に書いてこいと言われた
  • TypeScript の型とは何か
    • 型アノテーションはドキュメント
    • 型は Lint
    • 型は IDE へのヒント
    • 型を通してJITと仲良く
  • TypeScript コンパイラの役割は何か
    • 静的検査
      • GUI はテストが書きにくい
    • 型アノテーションの除去
    • ES2015 => ES5
    • IDE への情報提供
  • 導入
    • まずはコンパイラとしてつかう(型チェック落ちてもいい
    • ライブラリの型定義を入れて、潰す
    • any/@ts-ignore でつぶす
    • 個別のfoo.d.ts で型アノテーションでお茶を濁す
    • CI で有効化する
    • strict系を段階的に有効化
  • 実践
    • 最初に: 型を書いてメリットを得られるコスパ感覚を身につける
    • 型付きやすいコード、つきにくいコード
    • Model に近いところから有効化(APIの返り値/Redux State/Vuex State
    • View の入力・ステートで有効化する(React/Vue props state data
    • アップキャストの数だけ治安が悪くなる
    • コンパイルと型チェックを分離して高速化
    • だいじなこと!導入時に型が間違ってるコードを見つけても修正しない
    • Generics の型引数の数と治安
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment