関数の定義

TypeScriptでは、JavaScriptの関数に加えて、型注釈によって引数や戻り値の型を厳密に定義できます。これにより、関数の意図や使い方が明確になり、バグを未然に防ぐことができます


🔰 基本構文

// `function`での定義
function 関数名(引数: 型, ...): 戻り値の型 {
  // 処理
}

// アロー関数
const 関数名 = (引数: 型, ...): 戻り値の型 => { }

戻り値の型は省略可能ですが、明示することで補完性・可読性が向上します。 基本的には以下のルールで利用するのが良いとされています。

  • 特別問題がなければfunctionで定義する。
  • 無名関数はアロー関数を利用する。

🧪 使用例:基本的な関数定義

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

const message = greet("Taro"); // Hello, Taro

✅ 複数引数の関数

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

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

function log(message: string, user?: string): void {
  console.log(user ? `[${user}] ${message}` : message);
}

function greetUser(name: string = "Guest"): string {
  return `Hello, ${name}`;
}
  • user?: string は省略可能な引数
  • = "Guest" はデフォルト値付き引数

🧩 戻り値が void の関数

function showAlert(message: string): void {
  alert(message);
}
  • 何も返さない関数は void を指定
  • 戻り値に何かある場合は型注釈をつける

📦 オブジェクトや配列を返す関数

function getUser(): { name: string; age: number } {
  return { name: "Alice", age: 25 };
}

function getTags(): string[] {
  return ["ts", "js", "web"];
}
  • オブジェクトリテラルや配列には型注釈が有効
  • ジェネリックや型エイリアスと組み合わせると柔軟性向上

✅ まとめ

機能 説明
引数の型注釈 関数の利用ミスを防止できる
戻り値の型注釈 関数の出力の予測性を高める
オプション引数 ? を使って引数を省略可能にできる
アロー関数 表現が簡潔で this の挙動も安定する

関数定義に型注釈を加えることで、安全性と補完性の高い開発体験が得られます。

コメントを残す 0

Your email address will not be published. Required fields are marked *