関数式とは何か
関数式とは「関数を値として変数に代入する書き方」のことです。通常の関数宣言と違い、関数を“式”として扱うため、変数に代入したり、他の関数に渡したりできます。JavaScript では「関数も値のひとつ」として扱えるので、このような書き方が可能です。
基本構文と流れ
関数式は次のように書きます。
const 関数名 = function(引数) {
// 実行したい処理
return 戻り値;
};
JavaScriptfunctionキーワードを使って関数を作り、それを変数に代入します。- 代入した変数名が関数の呼び出しに使われます。
- 関数宣言と違い、定義より前では呼び出せません。
例題で理解する
例題1:足し算をする関数式
const add = function(a, b) {
return a + b;
};
console.log(add(3, 5)); // 8
console.log(add(10, 20)); // 30
JavaScriptここでは add という変数に関数を代入しています。呼び出すときは add() と書きます。
例題2:無名関数を使う
関数式は「名前を持たない関数(無名関数)」を代入することが多いです。
const greet = function(name) {
return `こんにちは、${name}さん`;
};
console.log(greet("太郎")); // こんにちは、太郎さん
JavaScriptこの場合、関数自体には名前がなく、greet という変数名で呼び出します。
例題3:関数を他の関数に渡す
関数式は「値」として扱えるので、別の関数に渡すこともできます。
function executeTwice(func) {
console.log(func());
console.log(func());
}
const sayHello = function() {
return "こんにちは";
};
executeTwice(sayHello);
// 出力: こんにちは
// 出力: こんにちは
JavaScriptここでは sayHello という関数式を executeTwice に渡し、2回実行しています。
関数宣言との違い
- 関数宣言: プログラムのどこからでも呼び出せる(ホイスティングされる)。
- 関数式: 定義した後でしか呼び出せない。変数に代入して使う。
この違いを理解すると、コードの書き方を柔軟に選べるようになります。
まとめ
- 関数式は「関数を値として変数に代入する書き方」。
- 無名関数を代入することが多い。
- 他の関数に渡したり、変数に保持したりできる。
- 関数宣言と違い、定義より前では呼び出せない。
初心者は「関数式は関数を変数に入れて使う方法」と覚えると理解しやすいです。
