今回はJava Scriptの基礎⑦として関数に渡す値に任意の初期値を設定する方法を紹介します。
関数は今までの記事では引数を用意して、その引数に都度値を入れていく様な事も出来ました。
今回紹介する方法は予め、用意した引数に初期値として値を入れ込んで置き、次回以降の処理内容の記述を省略出来る様になる方法です。
今回の記事はfunction関数の知識が必須です。まだ理解していない方は下記の記事で予習しておきましょう。
- 引数の初期値を設定したい。
- 引数を省略可能にしたい。
- 引数の数が決まっていない。
難易度(MAX10) | ★★★★★★☆☆☆☆ |
関数に渡す値の初期値を設定する方法
関数に渡す値の初期値を設定する方法は下記の構文で可能です。
function 関数(引数1, 引数2 = 初期値2, 引数3, 引数4 = 初期値3){} |
(引数1, 引数2 = 初期値2, 引数3, 引数4 = 初期値3) => {} |
上記の構文の通り関数の初期値は「引数 = 初期値」で定義する事が出来ます。
初期値が設定された引数は、実際の処理内容を記述する時に省略可能で、省略された場合は初期値が使用されます。これを「デフォルト引数」と言います。
下記のコードでは、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

関数に任意の数の引数を渡したい場合
関数に任意の数の引数を渡したい場合は下記の様に記述します。
function 関数名(…引数) {} |
(…引数) => {} |
引数[index] |
引数が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

以上が「関数に渡す値の初期値を設定する方法:Java Scriptの基礎⑦」でした。
現場ではこの方法は結構頻繁に使われているイメージですので、しっかりと覚えておきましょう。