JavaScriptの関数について
関数とは何か
JavaScriptにおける関数は、一連の命令をまとめて実行できるコードのブロックです。これにより、コードの再利用性や可読性が向上します。関数は以下のような役割を持ちます:
- 入力(引数)を受け取る
- 特定の処理を実行する
- 出力(戻り値)を返す
例えるなら、関数は「入力を基に出力を計算する機械」のようなものです。
関数の構文
関数を定義するには、以下の構文を使用します:
function 関数名(引数1, 引数2, ...) { // 処理 return 戻り値; }
ここで:
function
: 関数を定義するためのキーワード関数名
: 関数の名前引数
: 関数に渡される入力値return
: 関数の戻り値を指定するキーワード
関数の例
単純な例:足し算
function add(a, b) { return a + b; } console.log(add(3, 5)); // 出力: 8
条件分岐を含む例:偶数チェック
function isEven(num) { if (num % 2 === 0) { return true; } else { return false; } } console.log(isEven(4)); // 出力: true console.log(isEven(5)); // 出力: false
デフォルト引数を使用する例
function greet(name = "ゲスト") { return `こんにちは、${name}さん!`; } console.log(greet()); // 出力: こんにちは、ゲストさん! console.log(greet("太郎")); // 出力: こんにちは、太郎さん!
数学的表現との対応
関数は数学的な関数と同様に、入力と出力の関係を定義します。例えば、数学でよく使われる関数 \( f(x) = x^2 \) をJavaScriptで表現すると以下のようになります:
function f(x) { return x * x; } console.log(f(3)); // 出力: 9 console.log(f(5)); // 出力: 25
数学的には以下のように表現できます:
\[ f(x) = x^2 \]
また、二つの引数を持つ関数 \( g(x, y) = x + y \) は以下のように書けます:
function g(x, y) { return x + y; } console.log(g(3, 5)); // 出力: 8
これは以下のように表現されます:
\[ g(x, y) = x + y \]
応用的な話題
関数式
JavaScriptでは、関数を変数に代入することができます。これを「関数式」と呼びます。
const multiply = function(x, y) { return x * y; }; console.log(multiply(3, 4)); // 出力: 12
アロー関数
アロー関数は簡潔な構文で関数を定義する方法です。
const square = (x) => x * x; console.log(square(6)); // 出力: 36
再帰関数
関数が自分自身を呼び出す場合を「再帰」と呼びます。以下は再帰を使った階乗計算の例です:
function factorial(n) { if (n === 0) { return 1; } else { return n * factorial(n - 1); } } console.log(factorial(5)); // 出力: 120
数式で表現すると:
\[ n! = \begin{cases} 1 & n = 0 \\ n \times (n-1)! & n > 0 \end{cases} \]
これにより、関数の力強さを活用して複雑な処理を実現できます。