関数とは、処理をひとまとめにしたものです。
例えば、円の面積を計算する関数は以下のように書けます。
function CalcCircleArea(r){
return r*r*3.14;
}
特に複雑なプログラムであればあるほどプログラムが長くなり、読みにくくなりますが、よく使う処理をまとめておいて、処理を行う際に呼び出せば記述するコードが短くなります。
また、修正が必要になった場合でも、関数を使用していれば簡単に変更ができるのも関数のメリットとなります。
本記事では関数の宣言の構文から、関数を使用するメリット等やアロー関数について具体的に解説します。
基本のfunction
関数宣言の構文は下記のとおりです。
function 関数名(引数){
/* 処理 */
}
関数名とは関数を呼び出すときに使用します。先程の円の面積を計算する関数を呼び出すときは、
CalcCircleArea(10);
と記述します。
引数に10が指定されているため、10*10*3.14により、314が値として返却(return)されます。引数とは関数内に渡す値のことで、先ほどの例では円の面積を計算するために必要な半径rにあたります。
ローカル変数とグローバル変数の違い
注意点として、関数内で定義したローカル変数と、関数の外で定義したグローバル変数は明確に区別されます。
var PI = 3.14;
function CalcCircleArea(r){
var PI = 3;
return r * r * PI; /* PIは3として扱われる */
}
console.log(CalcCircleArea(10)); /* 10 * 10 * 3 = 300 */
console.log(PI); /* 3.14 */
関数内で定義したPIと関数の外で定義されたPIは別物です。
そのため、関数内で同じ変数名を再宣言しても、グローバル変数の値が上書きされることはありません。
なぜ関数を使うのか?関数のメリットとは?
では、なぜ関数を使うのでしょうか。
関数には主に次のようなメリットがあります。
- 同じ処理を何度も実行できる
- 変数のスコープ(有効範囲)を狭められる
同じ処理を何度も実行できる
円の面積を求める関数のように、汎用性の高い処理をあらかじめ関数として定義しておけば、必要な場面で何度でも呼び出して利用できます。
これにより、コードの重複を減らし、可読性を高めることができます。
変数のスコープ(有効範囲)を狭められる
関数を定義することで、変数のスコープを限定できます。
関数内で定義した変数はローカル変数となり、関数の外から参照することはできません。
これにより、意図しない値の変更を防ぎ、バグの発生を抑えることができます。
アロー関数でさらに短く書く
先ほどの円の面積を求める関数は、アロー関数を使うと次のように書けます。
let CalcCircleArea = r => r * r * 3.14;
console.log(CalcCircleArea(10)); /* 314 */
アロー関数は下記のように解釈します。
関数名 = 引数 => 関数内部の処理
通常の関数宣言と比べると、やや可読性が下がる場合もありますが、
シンプルな処理を短く書きたいときには非常に便利です。
結論
関数を宣言することで、まとまった処理を何度も実行することができます。コードの可読性や不具合等にも関わるので、同様の処理はなるべく関数として定義しておきたいところです。






コメント