TypeScript 関数: パラメータと戻り値の使い方

関数はあらゆるプログラミング言語の構成要素であり、TypeScript は型の安全性を追加することで関数を強化します。TypeScript では、パラメータと戻り値の型を定義することで、開発者はより信頼性が高く保守しやすいコードを記述できます。このガイドでは、TypeScript 関数について紹介し、パラメータと戻り値の型を効果的に使用する方法について説明します。

TypeScript で関数を定義する

TypeScript では、JavaScript と同様に、function キーワードを使用して関数を定義できます。ただし、TypeScript では、安全性と可読性を高めるために、パラメーターと戻り値の型を指定できます。

基本機能の例

型指定されたパラメータと戻り値の型を持つ基本的な TypeScript 関数の例を次に示します。

function add(a: number, b: number): number {
  return a + b;
}

const result = add(5, 3); // Output: 8

この例では、add 関数は number 型の 2 つのパラメータを受け入れ、number 型の値を返します。これにより、入力と出力の両方が期待される型に準拠していることが保証されます。

TypeScript の関数パラメータ

TypeScript 関数は、オプション、デフォルト、残りパラメータなど、さまざまなタイプのパラメータを受け入れることができます。それぞれの種類を詳しく見ていきましょう。

オプションパラメータ

パラメータ名の後に ? を追加することで、オプションのパラメータを定義できます。関数が呼び出されるときに、オプションのパラメータを指定する必要はありません。

function greet(name: string, age?: number): string {
  if (age) {
    return `Hello, ${name}. You are ${age} years old.`;
  } else {
    return `Hello, ${name}.`;
  }
}

console.log(greet("Alice")); // Output: Hello, Alice.
console.log(greet("Bob", 25)); // Output: Hello, Bob. You are 25 years old.

この例では、age パラメータはオプションです。関数は、age が指定されているかどうかに関係なく、正しく動作します。

デフォルトパラメータ

デフォルト パラメータを使用すると、関数が呼び出されたときにパラメータが指定されていない場合に、パラメータのデフォルト値を指定できます。

function multiply(a: number, b: number = 2): number {
  return a * b;
}

console.log(multiply(5)); // Output: 10
console.log(multiply(5, 3)); // Output: 15

この例では、b パラメータのデフォルト値は 2 です。2 番目の引数が指定されていない場合は、デフォルトで 2 が使用されます。

残りのパラメータ

残りパラメータを使用すると、関数にさまざまな数の引数を渡すことができます。残りパラメータは、... 構文を使用して定義されます。

function sum(...numbers: number[]): number {
  return numbers.reduce((total, num) => total + num, 0);
}

console.log(sum(1, 2, 3, 4)); // Output: 10
console.log(sum(5, 10, 15)); // Output: 30

この例では、sum 関数は、すべて number 型の任意の数の引数を受け入れ、その合計を返します。

TypeScript の戻り値の型

関数の戻り値の型を指定することは、パラメータの型を定義することと同じくらい重要です。これにより、TypeScript は関数の予想される出力を理解し、正しい型のデータを返すことが保証されます。

戻り値の型の指定

関数の戻り値の型を指定するには、パラメータ リストの後にコロン : を追加し、その後に型を指定します。

function isEven(num: number): boolean {
  return num % 2 === 0;
}

console.log(isEven(4)); // Output: true
console.log(isEven(5)); // Output: false

この例では、isEven 関数は、入力された数値が偶数かどうかを示す boolean を返します。

戻り値の型を持たない関数

関数が値を返さない場合、その戻り値の型は void になります。これは、結果を提供せずにアクションを実行する関数に役立ちます。

function logMessage(message: string): void {
  console.log(message);
}

logMessage("Hello, TypeScript!"); // Output: Hello, TypeScript!

この例では、logMessage 関数はコンソールにメッセージを記録し、何も返さないため、戻り値の型は void になります。

結論

TypeScript 関数は、パラメータの型と戻り値の型を定義することで、型安全なコードを作成する強力な方法を提供します。オプション、デフォルト、および残りのパラメータを使用し、戻り値の型を指定することにより、より堅牢で保守しやすい関数を作成できます。プロジェクトで TypeScript 関数を使い始め、コードの品質と安全性を向上させましょう。