javascriptで関数の理解が難しいと感じたので、アウトプットします。
僕と同じようなプログラミング初心者の方にお役立ちできれば幸いです。
関数とは
関数とは、「ある値を与えると、別の値を返す機能」
ある値を「引数(ひきすう)」と呼び、別の値を「戻り値」と呼びます。
言い換えると、関数は「引数を与えると、戻り値を返す機能」をさします。
下記の図が参考になります。
実際にコードを書いてきます。
関数
function.js
//関数const定数名=function(){//まとめたい処理や機能};
普通の関数式の形
アロー関数
function.js
//アロー関数const定数名=()=>{//まとめたい処理や機能};
ES6から導入された形式で1つ目の形式と同じ処理を行なっています。
例
function.js
constgreet=()=>{console.log("こんにちは!");};
この場合、greet();
を記載することで関数greetの「”こんにちは!”」を呼び出すことができます。
引数&戻り値
function.js
constkakezan=(a,b)=>{returna*b;};constsum=kakezan(3,2);
掛け算の関数を作りました。
呼び出し元で3と2を設定し、引数を与えます。a*b
の掛け算処理行なっているので、 6
が戻り値になります。
コールバック関数
関数の引数に渡された関数をコールバック関数という。
コールバック関数例
function.js
// コールバック関数を実行する関数functionexecCallback(callback){console.log('I call callback');callback();}// execCallback()に渡されるコールバック関数varmyCallback=function(){console.log('This is my callback');}// execCallback()にコールバック関数を渡して実行するexecCallback(myCallback);// => 'I call callback'// 'This is my callback'
callback();
のところで引数のコールバック関数を実行しています。
参考:JavaScript中級者への道【5. コールバック関数】
非同期処理
「ある関数が呼び出されたとき、戻り値として本来渡したい結果を返すのではなく、一度関数としては終了し(=呼び出し元に戻る)、後で『本来渡したかった値』を返せる状態になったときに、呼び出し元にその値を通知する」という仕組み
参考:非同期処理ってどういうこと?JavaScriptで一から学ぶ