TypeScript

スポンサーリンク
TypeScript

【実務・中級編】 Pickによる部分型の抽出 – TypeScript実践ガイド

こんにちは。チームを率いるシニアフロントエンドエンジニアの私だ。君も日々の開発で、バックエンドから送られてくる巨大なAPIレスポンスの型定義に頭を悩ませていないかい?「画面Aのこのコンポーネントでは、この2つのプロパティしか使わないのに、わ...
TypeScript

【実務・中級編】 基本ユーティリティ型 (Partial, Required, Readonly) – TypeScript実践ガイド

お疲れ。最近、君が書いたフォームバリデーションのPRを見たんだが……おっと、悪口じゃない。コード自体は動くし、テストもパスしている。ただ、型定義のところで少し「もったいない」書き方をしている箇所があった。例えば、APIから返ってきたユーザー...
TypeScript

【実務・中級編】 Branded Types (Nominal Typingの模倣) – TypeScript実践ガイド

TypeScriptの型システム、本当に最高ですよね。開発フィールは軽快だし、リファクタリングは怖くない。でも、実務で中規模から大規模なアプリケーションを任されるようになると、ある「モヤモヤ」に直面しませんか?そう、「IDの混ぜるな危険」問...
TypeScript

【実務・中級編】 テンプレートリテラル型によるキーのリマッピング – TypeScript実践ガイド

こんにちは。プロダクトの規模が拡大してくると、TypeScriptの型定義地獄にハマりませんか?「また似たようなボイラープレートを書いているな…」「バックエンドのAPI仕様が変わるたびに、フロントの型を何箇所も手動で直すの、いい加減しんどい...
TypeScript

【実務・中級編】 Variadic Tuple Types (可変長タプル型) – TypeScript実践ガイド

お疲れ。最近、君が書いているコンポーネントのラッパー関数やイベントハンドラーの型定義を見せてもらったんだけどさ……うん、頑張っているのは伝わる。でも、なんでもかんでも `any` や、苦肉のテーパーとしてのオーバーロードの山で乗り切ろうとす...
TypeScript

【実務・中級編】 再帰的なConditional Types – TypeScript実践ガイド

フロントエンドの現場で頭を悩ませる瞬間の一つに、「APIから返ってくる、何層にネストしているか分からない深淵のようなJSONの型定義」がありますよね。「親の顔より見た `Partial` を使ったのに、一段下のオブジェクトがオプショナルにな...
TypeScript

【実務・中級編】 Module Augmentationによる外部モジュールの拡張 – TypeScript実践ガイド

やあ、調子はどうだい?日々、プロダクトの機能開発に追われながらも、「なんでサードパーティ製のライブラリの型定義って、こうも痒い所に手が届かないんだ……!」と天井を仰いでいる姿が目に浮かぶよ。TypeScriptを書いていると、実務ではどうし...
TypeScript

【実務・中級編】 Declaration Merging: 名前空間と関数の結合 – TypeScript実践ガイド

やあ、調子はどうだい?最近、チームのコードレビューをしていて、「おっ、ここをこう書くか!」と感心させられるコードに出会うと、シニアとしてはやっぱり嬉しいものさ。君も中級の壁を越えて、そろそろ「ただ動くだけのコード」から「保守性が高く、かつ美...
TypeScript

【実務・中級編】 Declaration Merging: インターフェースの結合 – TypeScript実践ガイド

こんにちは。日々、複雑化するフロントエンドの荒波にもまれながら、コードベースの美しさと保守性にこだわり続けているシニアアーキテクトの私だ。さて、君たちも中級の壁を越え、そろそろ「サードパーティ製ライブラリの型定義が微妙に足りない」「自作のグ...
TypeScript

【実務・中級編】 NoInferユーティリティ型による推論制御 – TypeScript実践ガイド

TypeScriptでの開発に慣れてくると、ジェネリクス(総称型)の便利さに感動する一方で、「お前、なんで勝手にそんな広い型に推論しちまったんだよ…!」と、コンパイラの親切心(おせっかい)に頭を抱える夜がやってきますよね。特に中級から上級へ...
スポンサーリンク