.blog

脱よわよわエンジニアを目指すブログ

TypeScript 問題集を解いた

TypeScript に慣れようと思い、こちらの問題集を解きました。

zenn.dev

詰まった問題

  • 【Lv.1】引数の型注釈 4(オブジェクトの必須ではないプロパティ)
    • オプショナルプロパティ プロパティ名?: 型 を使う
  • 【Lv.2】引数の型注釈 5(関数)
    • func: (引数名: 型) => void
  • 【Lv.2】引数の型注釈 7(イベントリスナー)
  • 【Lv.3】window を拡張する
    • インターフェースを使ったところエラーが解消できなかったので vdeclare global を使った
  • 【Lv.3】オブジェクトのインデックス
  • 【Lv.2】テンプレートリテラル型 2
    • 先頭の文字列を固定できる
  • 【Lv.2】要素数の決まった配列 1
    • ユニオン型|とタプル型[]で要素の個数を限定する
  • 【Lv.3】要素数の決まった配列 2
    • タプル型とスプレッド型を使う
  • 【Lv.3】switch 文の網羅性チェック(exhaustiveness check)
    • satisfies を使った網羅性チェック
  • 【Lv.3】不明な返り値の型ガード

感想

開発のときには簡単な型注釈で済んだのですが、問題集を通して型に指定できる要素などを知り奥深さの一端を知れました。