名前付き引数
Named argument
f(a := 1, b := 2) のように、関数の引数に名前を付ける構文
長所
引数の意味が明確になる。値だけだと読んでもわからない。
f(a := 1, b := 2) わかりやすい。
f(1, 2) わかりにくい。
引数の名前でマッチングすれば良いので、引数の順序が入れ違っていてもよい。
f(a := 1, b := 2) と f(b := 2, a := 1) は等価となる。
オプションとなる引数を自由に設定できる。必要な引数だけを書けばよい。(可変長引数) f(a, b) の定義に対して f(a := 1) とか f(b := 2) と書くことができる。
短所
タイプ量が増える。
コマンドラインのオプション指定は名前付き引数と同等。
Visual Basic (VBA)は名前付き引数を持つ。
JavaScript は名前付き引数の構文を持たないが、JavaScript のオブジェクトのリテラル表記を使えばほぼ同等のことができる。
例えばこのようにする。f({a: 1, b: 2})