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} \]
これにより、関数の力強さを活用して複雑な処理を実現できます。