UNIT 1 講義ルート

DRILL 02 / 値と関数

関数とデフォルト引数

引数と戻り値の型を定め、オプションの計算条件をデフォルト値で扱います。

目安 10分 TypeScript function / return type
COURSE ROUTETypeScript Foundation
0 / 8
MISSION 02講義ルートを確認
  1. UNIT 1 · DRILL 01基本型OPEN
  2. UNIT 1 · DRILL 02関数ACTIVE
  3. UNIT 2 · DRILL 03配列OPEN
  4. UNIT 2 · DRILL 04オブジェクトOPEN
  5. UNIT 3 · DRILL 05ユニオン型OPEN
  6. UNIT 3 · DRILL 06タプルOPEN
  7. UNIT 4 · DRILL 07MapOPEN
  8. UNIT 4 · DRILL 08ジェネリクスOPEN

YOUR TASK

calculateTotal() を完成させる

単価、個数、割引率を受け取り、割引後の合計金額を返してください。割引率が省略された場合は 0 とします。

入力
price と quantity は 0 以上の数値、discountRate は 0 以上 1 以下の数値です。
出力
`price × quantity × (1 - discountRate)` の計算結果を返します。

BEFORE CODING

省略された引数はどうなる?

割引率を渡さない呼び出しも受け付けるため、discountRate に初期値 0 を置きます。値が省略されても関数内では number として扱えるので、undefined を個別に判定する必要はありません。

calculateTotal(1200, 2) → 2400
01

割引後に残る割合

20%引きなら discountRate は 0.2 です。支払う割合は 1 - 0.2 で 0.8 になるため、単価と個数を掛けた後に 0.8 を掛けます。

02

初期値と省略可能な引数の違い

discountRate?: number と書くだけでは undefined が残ります。今回は省略時の意味が 0 と決まっているので、初期値を置くほうが計算を素直に書けます。

SYNTAX RECALL

確認する構文

function greet(name: string, suffix = "!"): string {
  return `Hello, ${name}${suffix}`;
}
  • デフォルト引数を型推論に任せる
  • 戻り値の型を number と明示する
  • 計算結果を return する

STEPWISE HINTS

ヒント

01最初の一手

discountRate の宣言に `= 0` を加えると、省略時の値を設定できます。

02処理の組み立て

まず price と quantity を掛け、残る割合を掛けます。

03コードの形

`return price * quantity * (1 - discountRate);` が計算式になります。

AFTER ACCEPTED

解説

AC 後に解説が開きます

まずは自分の言葉で方針を説明し、コードに落としてみましょう。