はじめに
JavaScript入門講座の第七弾として、JavaScriptの関数の書き方、定義、関数名、呼び出し、引数、戻り値、関数の中に関数なども解説ついて紹介します。
この記事を読むと次の疑問について知ることができます。
- 関数の宣言と呼び出しとはどのようなもの?
- 関数の基本的な使い方はどのように使うの?
・無名関数
・即時間数
・クロージャ―
・再帰関数
JavaScript入門講座(6)では、JavaScriptの配列、宣言、追加、削除、結合、要素数、ループについて解説してきました。
ここでは、JavaScriptの関数の書き方、定義、関数名、呼び出し、引数、戻り値、関数の中に関数などについて深堀していきます。
関数の宣言と呼び出し
JavaScriptでは、functionと言うキーワードで宣言された構文を関数と呼びます。
どのようなプログラミング言語でも同じですが、同じ処理をする内容を幾つもプログむ内で出る場合がありますが、そのような場合に、その処理を関数として定義し、呼び出すことによりプログラムに書くソースが少なくなり、スッキリとしたソースを書くことができます。
関数の宣言を次に紹介します。
関数の基本的な使い方
それではここで、簡単な関数を定義してみましょう。
四角の面積を求める関数siMen(x, y)を定義して見ます。
function siMen(x, y) {
return x * y;
}
console.log(siMen(5, 8));
console.log(siMen(15, 1.5));
無名関数
関数名を付けずに関数式で作る関数名を持たない関数を無名関数と呼びます。
ここで例として、先ほどの四角の面積の無名関数を作成してみましょう。
let muMei = function(x, y) {
return x * y;
}
console.log(muMei(10, 5));
console.log(muMei(5, 3));
即時間数
読んで字の如く、即時に実行される関数を即時間数と呼びます。
上述の例で、四角の面積の即時関数を作ってみましょう。
let soKuJi = (function(x, y){
return x * y;
}(2, 50));
console.log(soKuJi);
クロージャ―
関数の中に関数を含めることができます。
親関数に含められた子関数は、親関数の変数にアクセスすることができます。
このように、子関数が親関数の変数にアクセスできる仕組みをクロージャ―と呼びます。
それでは、例を見てみましょう。
function oyaFunc(){
let x =3;
return function(){
return x--;
}
}
let func = oyaFunc();
console.log(func());
console.log(func());
console.log(func());
再帰関数
自分自身を呼び出す関数のことを再帰関数と呼びます。
注意点は、無限に呼びだされ、無限ループになるのを防ぐために条件式を入れて抜け出すように設定する必要があります。
ここでは再帰関数の例として、階乗の計算をしてみたいと思います。
function kaiJou(n) {
if (n == 0){
return 1
}
return n * kaiJou(n-1);
}
console.log(kaiJou( 3 ));
console.log(kaiJou( 6 ));
console.log(kaiJou( 10 ));
おわりに
如何だったでしょうか?
関数の宣言と呼び出しとはどのようなもの?、関数の基本的な使い方はどのように使うの?、無名関数、即時間数、クロージャ―、再帰関数などについて紹介してきました。
この記事があなたにとって少しでもお役に立てればこれほど嬉しいことはありません。
以上です。
コメント