TypeScript で関数を使用する方法 初心者ガイド

関数は、JavaScript と同様に、TypeScript でも基本的な構成要素です。TypeScript は、型注釈などの追加機能によって JavaScript 関数を拡張し、コードの明確さを高め、エラーを防止します。この初心者向けガイドでは、TypeScript で関数を使用する方法について説明します。

関数の定義

TypeScript では、JavaScript と同じように関数を定義できますが、オプションの型注釈を使用して、パラメータと戻り値の型を指定できます。

基本関数の定義

TypeScript で簡単な関数を定義する方法は次のとおりです。

function greet(name: string): string {
  return "Hello, " + name;
}

この例では、namestring 型のパラメーターであり、関数は string 型の値を返します。

関数のパラメータと戻り値の型

TypeScript を使用すると、関数のパラメータと戻り値の型を指定できるため、関数が正しく使用されるようになります。

パラメータ付き関数

以下は 2 つのパラメータを受け取り、その合計を返す関数です。

function add(x: number, y: number): number {
  return x + y;
}

この関数では、xy は両方とも number 型であり、関数は number を返します。

戻り値のない関数

すべての関数が値を返す必要はありません。戻り値のない関数は、戻り値の型 void で宣言されます。これらの関数はアクションを実行しますが、結果は生成しません。

戻り値なしの例

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

この例では、logMessagemessage をコンソールに出力しますが、値は返しません。

オプションおよびデフォルトパラメータ

TypeScript はオプションおよびデフォルトのパラメータをサポートしており、より柔軟な関数を作成できます。

オプションパラメータ

オプション パラメータは、パラメータ名の後に ? を追加して指定します。

function greet(name: string, greeting?: string): string {
  if (greeting) {
    return greeting + ", " + name;
  }
  return "Hello, " + name;
}

この例では、greeting は関数を呼び出すときに省略できるオプションのパラメーターです。

デフォルトパラメータ

値が指定されていない場合、デフォルト パラメータにはデフォルト値が設定されます。

function greet(name: string, greeting: string = "Hello"): string {
  return greeting + ", " + name;
}

greeting が指定されていない場合は、デフォルトで "Hello" になります。

関数のオーバーロード

TypeScript は関数のオーバーロードをサポートしており、同じ関数名に対して複数の関数シグネチャを定義できます。

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

この例では、greet は 1 つまたは 2 つのパラメータを使用して呼び出すことができます。

矢印関数

矢印関数は関数を記述するためのより短い構文を提供し、独自の this コンテキストを持ちません。

const add = (x: number, y: number): number => x + y;

この例では、2 つの数値を加算する矢印関数を定義する方法を示します。

結論

TypeScript の関数は、コードをカプセル化して再利用するための強力な方法です。型注釈、オプションおよびデフォルトのパラメータ、関数のオーバーロード、矢印関数を使用することで、より堅牢で保守しやすいコードを作成できます。これらの基本を理解することで、プロジェクトで TypeScript の機能を最大限に活用できるようになります。