関数(function)はタスクや値の計算を実行する処理の集まり。つまり、さまざまな処理を1つにまとめて名前をつけてまとめれる。まとめられるもの的な。
値を受け取ったり、その結果を返すことができる。何回も同じコード書かなくてよくなる。コスパの良いやつだ。
関数の定義の仕方は4つ↓
1.function命令
function 関数名(引数1、引数2,...){
任意の処理
return 戻り値
}
例えば
function getRectangle(tate, yoko){ //()で引数を渡す。引数は関数に渡す特別な変数
return tate * yoko; //これを計算した後、関数の呼び出し元に値を返す。
}
console.log(getRectangle(4, 6)); //4がtate, 6がyokoの引数に。tate(4)xyoko(6)で24。これを呼び出し元のgetRectangleにreturn。
console.logで24が出力される。
ちなみに引数(いんすうじゃなくて、ひきすう)は関数の呼び出し元から、関数へ値を渡すときに使う特別な変数
戻り値は関数から関数呼び出し元へ返す値
2.関数リテラル(関数名がないので、匿名関数なんて呼ばれることも)
function(引数1,引数2,...){
実行する処理
return 戻り値
}
例えば
const getRectangle=function(tate, yoko){ //関数リテラルを定数に入れる
return tate*yoko;
}
console.log(getRectangle(4,6))
したら24が出力される
3.Fuctionコンストラクタ
const 変数名 = new Function(引数1, 引数2,..., 関数本体の処理);
例えば
const getRectangle= new Function('tate', 'yoko', 'return tate * yoko')};
console.log(getRectangle(4,6));
したら24が出力される
4.アロー関数(関数リテラルの省略バージョン)
(引数1,引数2,...)=>{
実行する処理
return 戻り値
}
例えば
const getRectangle =function(tate, yoko) {
return tate * yoko;
}
console.log(getRectangle(4,6));
// ↓省略バージョン!アロー関数
const getRectangle2 =(tate2, yoko2) >= {
return tate2 * yoko2;
}
console.log(getRectangle(4,6));
こうしてみると、関数はなんかテンプレート作りみたいな感じで覚えた方が良さそう