書店員向け情報 HELP
出版者情報
書店注文情報
TypeScriptコードレシピ集
- 書店発売日
- 2026年5月28日
- 登録日
- 2026年4月9日
- 最終更新日
- 2026年5月2日
紹介
TypeScriptで「やりたいこと」を逆引きできるレシピ集の決定版。
初級から中級レベルの方に向けて、現場でコードを書くためのテクニックを、豊富な事例とともにまとめました。
satisfies演算子や型述語の推論などTypeScriptの新機能、JavaScriptの新しいAPIにも対応。
静的型付けや型推論の基礎から、データ型、関数、非同期処理、エラーハンドリング、クラス、モジュール、型の絞り込みやユーティリティ型まで、カテゴリ別に整理しています。
TypeScript 7対応、サンプルコード付き。
目次
------------------------------------------------
Chapter1 JavaScriptとTypeScriptの基礎
------------------------------------------------
001 JavaScriptについて知りたい
002 TypeScriptについて知りたい
003 JavaScriptの基本的な書き方と実行方法を知りたい
004 TypeScriptをオンラインで手軽に試したい
005 TypeScriptの環境構築の方法について知りたい
006 JavaScriptとTypeScriptの型の扱い方の違いについて知りたい
007 JavaScriptとTypeScriptの実行環境の違いについて知りたい
008 TypeScriptのネイティブコンパイラーについて知りたい
------------------------------------------------
Chapter2 基本構文
------------------------------------------------
009 プログラムの値をログで確認したい
010 定数を使いたい
011 変数を使いたい
012 変数や定数の有効範囲について知りたい
013 プログラムに対してコメントを書きたい
014 条件に応じて処理を分けたい
015 三項演算子で条件に応じて異なる値を取得したい
016 switchで条件に応じて異なる値を取得したい
017 処理を繰り返したい
018 インデックスを使って繰り返し処理をしたい
019 条件を満たす場合だけ処理を繰り返したい
020 繰り返し処理を一部分だけスキップしたい
021 繰り返し処理を途中で抜けたい
022 nullまたはundefinedの場合にデフォルト値を設定したい
023 null/undefinedになり得る値に安全にアクセスしたい
024 trueやfalseとみなされる値と、&&、||、??演算子の違いについて知りたい
025 値の状態に応じて代入したい
------------------------------------------------
Chapter3 型システム
------------------------------------------------
026 型を明示したい
027 型が何かを推論させたい
028 型に名前を付けたい
029 ユニオン型で複数の型のいずれかを表現したい
030 値そのものしか代入できない「リテラル型」を作りたい
031 複数の型の条件をすべて満たす型を作りたい
032 インターフェースで型を定義したい
033 インターフェースを拡張したい
034 型定義のtypeとinterfaceの違いを知りたい
035 型を後から指定して、さまざまな型に対応する関数やクラスを作りたい
036 ジェネリクスを複数使いたい
037 ジェネリクスの初期値を定義したい
038 ジェネリクスの指定できる型に制限を設けたい
039 関数にジェネリクスを使いたい
040 プロトタイプとプロトタイプチェーンを理解したい
------------------------------------------------
Chapter4 データ型
------------------------------------------------
041 プリミティブな「データ型」について知りたい
042 数値をJavaScriptやTypeScriptで表現したい
043 数値演算を行いたい
044 ランダムな数値を使いたい
045 数の切り捨て・切り上げ・四捨五入を使いたい
046 数値の最大値・最小値を取り扱いたい
047 2の53乗以上の大きな数値を取り扱いたい
048 文字列を表現したい
049 複数の文字列を連結したい
050 文字列を検索したい
051 文字列を取り出したい
052 文字列を置き換えたい
053 データが存在しないときの「null」を取り扱いたい
054 データが未定義のときの値「undefined」を使いたい
055 真偽値を扱いたい
056 一意なプロパティキーを作りたい
057 ++や+=などの省略演算子を使いたい
058 絵文字を崩さずに文字数を数えたい
059 WebCryptoAPIで安全な乱数やキーを生成したい
------------------------------------------------
Chapter5 配列・オブジェクト
------------------------------------------------
060 配列に型注釈をしたい
061 配列操作におけるコールバック関数の内容について知りたい
062 配列から別の配列を作りたい
063 配列を条件によって絞り込みたい
064 配列をフラット化したい
065 配列の要素を検索したい
066 要素が含まれているかどうかを調べたい
067 配列の要素が条件に合致するかどうかを調べたい
068 配列の要素を集約したい
069 配列の要素を並び替えたり、逆順にしたい
070 配列の要素を追加・削除したい
071 配列の要素を置換したい
072 TypeScriptでオブジェクトを表現したい
073 オブジェクトのプロパティを省略可能にしたい
074 オブジェクトのキー・値・ペアを取得したい
075 配列やオブジェクトをコピー・更新・結合したい
076 配列やオブジェクトをディープコピーしたい
077 繰り返し処理が可能な「イテラブルなオブジェクト」を使いたい
------------------------------------------------
Chapter6 関数
------------------------------------------------
078 関数について知りたい
079 functionキーワードで関数を扱いたい
080 「アロー関数」を使って関数を定義したい
081 オブジェクトのメソッドを使いたい
082 アロー関数とfunctionの違いを知りたい
083 関数の引数を省略したい
084 引数の初期値を指定したい
085 関数に任意の数の引数を渡したい
086 関数に型を付けたい
087 関数オーバーロードで引数と戻り値の型の組み合わせを複数作りたい
088 関数の引数で分割代入したい
089 Generator関数を使いたい
------------------------------------------------
Chapter7 高度な型システム
------------------------------------------------
090 unknown型で何でも入れられる型安全な変数を作りたい
091 try...catchのcatchエラーオブジェクトを型安全に扱いたい
092 any型と、その使用を制限する方法を知りたい
093 値を何も返さないvoid型について知りたい
094 固定長の配列「タプル型」を取り扱いたい
095 特定のパターンを持つstring型を定義したい
096 文字列リテラル型の大文字・小文字を変換したい
097 プロパティや配列の要素を読み取り専用にしたい
------------------------------------------------
Chapter8 非同期処理
------------------------------------------------
098 一定時間後・一定間隔で処理を行いたい
099 Promiseで非同期処理を扱いたい
100 データをフェッチしてレスポンスを処理したい
101 Promiseやfetchで直列処理をしたい
102 Promiseやfetchで並行処理をしたい
103 Promiseやfetchで扱う値の型を明示したい
104 非同期通信をする関数を作りたい
105 fetchで取得したデータの型を実行時に保証したい
106 トップレベルでawaitを使いたい
107 非同期処理を途中でキャンセルしたい
108 Promiseを外部から制御したい
------------------------------------------------
Chapter9 型の絞り込みと高度な型操作
------------------------------------------------
109 typeofで型の絞り込みをしたい
110 instanceofで型の絞り込みをしたい
111 inで型の絞り込みをしたい
112 オブジェクトの共通のプロパティで絞り込みをしたい
113 型の絞り込み関数を作りたい
114 ランタイム検証と型の絞り込みを両立させたい
115 型述語を推論させたい
116 値の型の拡大(widening)を防ぎたい
117 オブジェクトの型推論結果を保持しつつ型チェックをしたい
118 条件付き型で一致しない型を無効化したい
119 inferキーワードで型を抽出したい
120 オブジェクトのキーを型として扱いたい
121 配列やオブジェクトの要素の型を取得したい
122 定義済みの値から型を抽出したい
123 ジェネリクスで特定のオブジェクト型のプロパティに安全にアクセスしたい
124 satisfies演算子で値が型に合うか確認したい
125 型の条件分岐を行いたい
126 IDなどの文字列を種類別に型安全に扱いたい
127 関数の引数の拡大(widening)を防ぎたい
------------------------------------------------
Chapter10 ユーティリティ型
------------------------------------------------
128 キーKと値Tを持つオブジェクトを生成したい
129 プロパティを省略可能/必須に変換したい
130 型からプロパティを取り出し/除外したい
131 ユニオン型からメンバーを除外/抽出したい
132 T型からnullとundefinedを削除した型を生成したい
133 関数の戻り値・引数の型を取得したい
134 T型を推論させないようにしたい
135 クラスのコンストラクター引数型とインスタンス型を取得したい
136 Promiseで扱っている値の型だけを抽出したい
------------------------------------------------
Chapter11 エラーハンドリング
------------------------------------------------
137 実行時エラー(ランタイムエラー)について知りたい
138 標準エラーオブジェクトについて知りたい
139 任意のタイミングでエラーを発生させたい(投げたい)
140 エラーをキャッチし、エラーの内容に応じて処理を続行したい
141 専用のエラーを作成して判別しやすくしたい
142 エラーを連結して原因を追跡したい
------------------------------------------------
Chapter12 クラス
------------------------------------------------
143 クラスを使いたい
144 クラス内で自身のメンバーにアクセスしたい
145 クラスの継承をしたい
146 親クラスのメソッドを拡張したい
147 継承専用のクラスを作りたい
148 静的なメンバーを定義したい
149 プロパティやメソッドの公開範囲を制御したい
150 ECMAScriptの機能を使って、クラスのメンバーにアクセス制御したい
151 instanceofよりも安全にインスタンスかどうかの確認がしたい
152 getter、setter、accessorを使いたい
------------------------------------------------
Chapter13 モジュール
------------------------------------------------
153 モジュールについて知りたい
154 変数や関数を他のモジュールで使えるようにexportしたい
155 他のモジュールの変数や関数をimportしたい
156 デフォルトエクスポートを使って主要な値をエクスポートしたい
157 型だけをexport、importしたい
158 importでパスを指定したい
159 動的にモジュールをimportしたい
160 JSONをECMAScript標準の形式でimportしたい
161 ブラウザでもNode.jsでもグローバルオブジェクトを参照したい
------------------------------------------------
Chapter14 TypeScript設定
------------------------------------------------
162 TypeScriptの設定ファイルtsconfig.jsonについて知りたい
163 compilerOptionsの設定を知りたい
164 tsconfig.jsonの設定を継承したい
165 コンパイル対象とAPIライブラリを設定したい
166 ソースマップを有効にしたい
167 厳格な型チェックを有効にしたい
168 未使用のローカル変数を許可したくない
169 関数で未使用の引数を許可したくない
170 関数での戻り値を必ず明示したい
171 オプショナルプロパティでundefinedを代入不可能にしたい
172 switch文でbreakやreturnを必須にしたい
173 明示されていないプロパティへのドット記法アクセスを禁止したい
174 存在しない可能性がある配列のインデックスアクセスを型安全にしたい
175 モジュール解決と出力形式を設定したい
176 クラスフィールドがオーバーライドされている場合、override修飾子を強制したい
177 Node.jsでTypeScriptを実行するとき、削除不可能構文をエラーにしたい
INDEX
上記内容は本書刊行時のものです。
