Menu
Coddy logo textTech

Restパラメータの型定義

CoddyのJavaScriptジャーニー「Introduction To TypeScript」セクションの一部。レッスン 27/73。

TypeScriptは、型安全性を維持しながらこのシナリオをエレガントに処理するために、レストパラメータを提供しています。

レストパラメータは、スプレッド演算子(...)の後にパラメータ名と型指定された配列を続けて使用します。これにより、残りのすべての引数が1つの配列パラメータにまとめられます:

function sum(...numbers: number[]): number {
  let total = 0;
  for (const num of numbers) {
    total += num;
  }
  return total;
}

// 任意の数の引数で呼び出すことができます
sum(1, 2);           // 3
sum(1, 2, 3, 4, 5);  // 15

レストパラメータは、常に関数シグネチャの最後のパラメータである必要があります。TypeScriptは、レストパラメータに渡されるすべての引数が指定された配列型と一致することを保証し、静的型付けの安全性とともに可変引数の柔軟性を提供します。

challenge icon

チャレンジ

簡単

任意の数の数値引数を受け取り、その合計を number 型として返す、sumAll という名前の関数をレストパラメータ(残余引数)を使用して作成してください。この関数には、明示的な戻り値の型アノテーションを含める必要があります。

任意の数の数値引数を受け取り、その中の最大値を number 型として返す、findMaximum という名前の別の関数をレストパラメータを使用して作成してください。この関数には、明示的な戻り値の型アノテーションを含める必要があります。

string 型の必須パラメータ separator と、それに続く任意の数の文字列引数を受け取るレストパラメータを持つ、concatenateStrings という名前の3つ目の関数を作成してください。この関数は、すべての文字列引数をセパレータで連結して返す必要があります。この関数には、string 型の明示的な戻り値の型アノテーションを含める必要があります。

以下の値を使用して関数を呼び出し、結果を出力して関数をテストしてください:

  • sumAll51015 で呼び出す
  • sumAll12345 で呼び出す
  • findMaximum83127 で呼び出す
  • findMaximum2518 で呼び出す
  • concatenateStrings をセパレータ "-" と、"apple""banana""cherry" で呼び出す
  • concatenateStrings をセパレータ " | " と、"red""green""blue""yellow" で呼び出す

各結果を、上記の指定された順序で個別の行に出力してください。

自分で試してみよう

// TODO: ここにコードを書いてください

// 残余引数を使用して sumAll 関数を作成します


// 残余引数を使用して findMaximum 関数を作成します


// セパレータと残余引数を使用して concatenateStrings 関数を作成します


// 関数をテストして結果を出力します
console.log(sumAll(5, 10, 15));
console.log(sumAll(1, 2, 3, 4, 5));
console.log(findMaximum(8, 3, 12, 7));
console.log(findMaximum(25, 18));
console.log(concatenateStrings("-", "apple", "banana", "cherry"));
console.log(concatenateStrings(" | ", "red", "green", "blue", "yellow"));
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

Introduction To TypeScriptのすべてのレッスン

自分で練習してみよう: JavaScriptオンラインコンパイラ