関数をマスターする (2/5)
作成:2016-04-29 09:43
更新:2016-04-29 09:43
更新:2016-04-29 09:43
■オプショナル引数とデフォルト値
引数については、この他にも強化された点があります。その1つが「オプショナル引数」です。
オプショナル引数とは、「オプションとして用意される引数」のことです。つまり、その引数の値は用意してもしなくても大丈夫、というものです。これは、引数に「?」をつけて定義します。
このような形ですね。これで、この引数はオプショナル引数になります。これで、この引数の値は用意してもしなくてもいいようになります。
……でも、「あってもなくてもいい」というのでは、プログラム的にはどうやって処理をすればいいのでしょう? それは、その変数を条件でチェックして処理するようにしておけばいいのです。例えば、こういうことです。
if ( 変数 ) とチェックすることで、引数に用意した変数が存在しなければfalseと判断されelse以降が実行されるようになります。値があれば、もちろんtrueとしての処理が実行されます。
では、簡単な利用例を下に挙げておきましょう。これは、消費税の計算をする関数calcを利用するサンプルです。calc関数では、priceとtaxという2つの引数が用意されており、第2引数のtaxがオプショナルとなっています。
taxの値があれば、それをもとに消費税額を決めて計算をします。もしtaxがなければ、8%と判断して1.08をかけて税込価格を計算しています。こんな具合に、オプショナルを使うことで、より柔軟に関数を呼び出せるようになるのです。
オプショナル引数とは、「オプションとして用意される引数」のことです。つまり、その引数の値は用意してもしなくても大丈夫、というものです。これは、引数に「?」をつけて定義します。
function 関数 ( 変数? : タイプ ){……}
このような形ですね。これで、この引数はオプショナル引数になります。これで、この引数の値は用意してもしなくてもいいようになります。
……でも、「あってもなくてもいい」というのでは、プログラム的にはどうやって処理をすればいいのでしょう? それは、その変数を条件でチェックして処理するようにしておけばいいのです。例えば、こういうことです。
function 関数名 ( 変数? : タイプ ) {
if ( 変数 ){
……引数の値を使った処理……
} else {
……引数がない場合の処理……
}
}
if ( 変数 ) とチェックすることで、引数に用意した変数が存在しなければfalseと判断されelse以降が実行されるようになります。値があれば、もちろんtrueとしての処理が実行されます。
では、簡単な利用例を下に挙げておきましょう。これは、消費税の計算をする関数calcを利用するサンプルです。calc関数では、priceとtaxという2つの引数が用意されており、第2引数のtaxがオプショナルとなっています。
taxの値があれば、それをもとに消費税額を決めて計算をします。もしtaxがなければ、8%と判断して1.08をかけて税込価格を計算しています。こんな具合に、オプショナルを使うことで、より柔軟に関数を呼び出せるようになるのです。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
function calc(price:number, tax?:number):number { let res:number; if (tax){ res = price * (1.0 + (tax / 100)); } else { res = price * 1.08; } return Math.floor(res); } let num1:number = calc(1234500); document.write(num1.toString()); document.write("<br>"); let num2:number = calc(1234500, 10); document.write(num2.toString());
※関連コンテンツ