1? で省略できる引数
引数名の後ろに ? を付けるだけで、その引数を渡しても渡さなくてもよくなる基本の例です。1つの関数が「名前だけ」と「名前+追加メッセージ」の2通りの呼び出しに対応できます。
TypeScript
2省略されたときは undefined
オプション引数が渡されなかったとき、その値は undefined になります。使う前に undefined かどうかを確認してから分岐する、というオプション引数とセットで必要になる作法を示す例です。
TypeScript
3デフォルト値で確認を省く
引数に = で初期値を書いておくと、省略時にその値が自動で使われます。オプション引数と違って undefined の確認が不要になるので、「省略時の標準値が決まっている」場面ではこちらを選びます。
TypeScript
4オプションとデフォルトの使い分け
1つの関数の中で、標準値があるものはデフォルト値、指定があったときだけ動きを変えるものはオプション引数、と使い分ける例です。引数の性格に合わせて2つの仕組みを選ぶ感覚を養います。
TypeScript
5検索クエリの組み立て
ページ番号や1ページあたりの件数のような「普段は標準値でよい設定」をデフォルト値にした、API 呼び出しを想定した実務寄りの例です。呼び出し側は必要な引数だけ渡せばよくなります。
TypeScript