Skip to content

TypeScriptの関数

公開日:November 16, 2024更新日:November 28, 2024
JavaScriptTypeScriptCoding📄

TypeScriptでは、関数に型注釈を追加することで、引数や戻り値の型を明確にし、コードの信頼性を高めることができます。このセクションでは、関数の基本的な定義から、オプション引数やデフォルト引数、アロー関数について学んでいきます。

関数の定義と型注釈

関数を定義する際、引数や戻り値に型を注釈することで、関数がどのような入力を受け取り、どのような結果を返すのかを明確にできます。

typescript
function greet(name: string): string {
  return `Hello, ${name}!`;
}

上記の関数greetは、引数nameとしてstring型を受け取り、戻り値としてstring型を返します。このように、関数の引数と戻り値の型を指定することで、関数の使い方が明確になり、誤った呼び出しを防ぐことができます。

オプション引数とデフォルト引数

TypeScriptでは、関数の引数を「オプション引数」として定義することができます。オプション引数は、関数を呼び出す際に省略可能な引数です。オプション引数を指定するには、引数名の後に?を付けます。

typescript
function greetOptional(name: string, title?: string): string {
  if (title) {
    return `Hello, ${title} ${name}!`;
  } else {
    return `Hello, ${name}!`;
  }
}

この例では、titleはオプション引数であり、指定しなくても関数を呼び出すことができます。

また、デフォルト引数を使うことで、引数が渡されなかった場合に特定の値を使用することもできます。

typescript
function greetDefault(name: string, greeting: string = "Hello"): string {
  return `${greeting}, ${name}!`;
}

上記の関数greetDefaultは、greeting引数が渡されなかった場合、デフォルトで"Hello"を使用します。これにより、柔軟な関数呼び出しが可能になります。

戻り値の型

関数の戻り値にも型注釈を付けることで、関数が返すデータの型を保証できます。TypeScriptは、関数内のロジックから戻り値の型を推論することもできますが、明示的に指定することでコードの意図をよりはっきりさせることができます。

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

上記の関数addは、引数としてnumber型の値を受け取り、number型の戻り値を返すことが保証されています。

アロー関数

アロー関数は、より簡潔に関数を定義するための構文です。JavaScriptでも使われるこの構文は、TypeScriptでも型注釈を付けて利用することができます。

typescript
const multiply = (a: number, b: number): number => {
  return a * b;
};

アロー関数は、特に短い関数を定義する場合や、コールバック関数を記述する場合に便利です。

例えば、アロー関数を使って配列のフィルタリングを行うことができます。

typescript
const numbers: number[] = [1, 2, 3, 4, 5];
const evenNumbers = numbers.filter((num): boolean => num % 2 === 0);

この例では、filter関数にアロー関数を渡し、evenNumbersには偶数だけが格納されます。アロー関数の使い方により、コードを簡潔に記述できるため、可読性が向上します。

まとめ

TypeScriptの関数は、型注釈を使うことで引数や戻り値の型を明確にし、エラーを未然に防ぐことができます。オプション引数やデフォルト引数を活用することで、柔軟性を持たせた関数を作成でき、アロー関数を使うことで簡潔なコードを書くことが可能です。これらの概念を理解することで、より安全で読みやすいコードを書くことができるでしょう。