関数に渡す値の初期値を設定する方法:Java Scriptの基礎⑦

Programming

今回はJava Scriptの基礎⑦として関数に渡す値に任意の初期値を設定する方法を紹介します。

関数は今までの記事では引数を用意して、その引数に都度値を入れていく様な事も出来ました。
今回紹介する方法は予め、用意した引数に初期値として値を入れ込んで置き、次回以降の処理内容の記述を省略出来る様になる方法です。

今回の記事はfunction関数の知識が必須です。まだ理解していない方は下記の記事で予習しておきましょう。

こんな人に向いた記事

  • 引数の初期値を設定したい。
  • 引数を省略可能にしたい。
  • 引数の数が決まっていない。

難易度(MAX10)★★★★★☆☆☆☆

関数に渡す値の初期値を設定する方法

関数に渡す値の初期値を設定する方法は下記の構文で可能です。

function 関数(引数1, 引数2 = 初期値2, 引数3, 引数4 = 初期値3){}
(引数1, 引数2 = 初期値2, 引数3, 引数4 = 初期値3) => {}
function(上)アロー関数(下)

上記の構文の通り関数の初期値は「引数 = 初期値」で定義する事が出来ます。
初期値が設定された引数は、実際の処理内容を記述する時に省略可能で、省略された場合は初期値が使用されます。これを「デフォルト引数」と言います。

下記のコードでは、function testFの関数に「tax = 0.1」ですよ、と言った初期値が設定されています。
この様に初期値が設定されている場合は、const test1で実行する内容は「testF(100);」だけでもtaxの初期値を使用して100+100×0.1を実行してくれます。(test1)
また処理内容でtaxの引数を入れた場合はその内容が上書きされて実行されます。(test2)

/*
* @param price
* @param tax
*/

function testF(price, tax = 0.1) {
    const result = price + price * tax;
    return result;
}

const test1 = testF(100);
console.log (test1); //110

const test2 = testF(100, 0.08);
console.log (test2); //108
test1(上)とtest2(下)

関数に任意の数の引数を渡したい場合

関数に任意の数の引数を渡したい場合は下記の様に記述します。

function 関数名(…引数) {}
(…引数) => {}
引数[index]
function関数(上)アロー関数(中)インデックス(下)

引数が0個,1個,2個,3個と不特定数ある場合は「…引数」と「…」を付けてあげる事で受け取る事が出来るようになります。
またインデックスを使用した方法もあります。

下記のコードでは、testFに「…price」を置き引数が配列として格納された状態となっています。
そのためtest1でtestF(10, 20)と言った様に複数の引数を入れても正常に計算が行われます。

/*
* @param price
* @returns {nunber}
*/

function testF(...price) {
    let result = 0;
    for (const value of price) {
        result += value;
    }
    return result;
}

const test1 = testF(10, 20)
console.log(test1) //30

const test2 = testF(5, 10, 40)
console.log(test2) //55
test1(上)test2(下)

以上が「関数に渡す値の初期値を設定する方法:Java Scriptの基礎⑦」でした。

現場ではこの方法は結構頻繁に使われているイメージですので、しっかりと覚えておきましょう。

2020年6月29日ProgrammingJava Script,WEB

Posted by KT