TypeScriptにおける関数のオプションパラメータ

関数が可変数のパラメータを受け取るようにすることができます。 そのためには、一部(またはすべて)のパラメータをオプションとして宣言する必要があります。

パラメータがオプションであることを示すには、その名前の後に疑問符を付けます。

例として、関数内で姓をオプションパラメータとして宣言してみましょう:

typescriptfunction func(first: string, last?: string) {
  return first + ' ' + last;
}

関数が呼び出された際にオプションパラメータが指定されない場合、その値はundefinedになります。 この点を考慮して関数を修正しましょう:

typescriptfunction func(first: string, last?: string) {
  if (last !== undefined) {
    return first + ' ' + last;
  } else {
    return first;
  }
}

短縮形のチェックを使用して簡略化することもできます:

typescriptfunction func(first: string, last?: string) {
  if (last) {
    return first + ' ' + last;
  } else {
    return first;
  }
}

では、この関数を使ってみましょう。 2つのパラメータを指定して呼び出します:

typescriptfunc('john', 'smit'); // 'john smit' を返す

1つのパラメータで呼び出します:

typescriptfunc('john'); // 'john' を返す
Задание 1

日、月、年をパラメータとして受け取り、その日付に対応する曜日を返す関数を作成してください。 3つのパラメータはすべてオプションとします。 パラメータが指定されない場合は、現在の日付に対応する値が設定されるようにしてください。