改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで その5
Chapter 4 くり返し利用するコードを 1 箇所にまとめる - 関数 -
関数の続きです。
可変長引数
arguments オブジェクトを使って可変長引数に対応した関数を定義します。
function sum() { var ret = 0; for (var i = 0, len = arguments.length; i < len; i++) { var tmp = arguments[i]; if (typeof tmp !== 'number') { throw new Error('引数が数値ではありません: ' + tmp); } ret += tmp; } return ret; } try { console.log(sum(1, 2, 3, 4, 5)); } catch(e) { console.log(e.message); }
また、次のように書くこともできます。
function sum(...nums) { let ret = 0; for (let num of nums) { ret += num; } return ret; } console.log(sum(1, 2, 3, 4));
デフォルト引数
自分よりも前の引数をデフォルト引数にすることができます。
function mul(a, b = a) { return a * b; } console.log(mul(5, 4)); console.log(mul(5));
高階関数
forEach や map のようなメソッドのような公開関数を定義することができます。
function forOfArray(array, func) { for (let element of array) { func(element); } } function printElement(element) { console.log(element); } ary = [1, 2, 3, 4, 5]; forOfArray(ary, printElement);
本
改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで
- 作者: 山田祥寛
- 出版社/メーカー: 技術評論社
- 発売日: 2016/09/30
- メディア: 大型本
- この商品を含むブログを見る