Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

関数定義の際、引数を与えなくてもargumentsが補足している

関数に引数を与えなくてもargumentsが補足しています。
名前付けた方が当然追いやすいですが。

実際のところ

基本的な例がこちら。

function hoge() { return arguments[1]}
hoge(2,9)
//> 9

ちょっと複雑に

  • 内部のアロー関数でargumentを補足
  • 第二引数がない(=NaN)なら0を持つ

ようにした例がこちら。

function bar() { 
  let f = (i) => {return (arguments[1] || 0) + i};
  return f(2);
}

bar(8)
//> 2
bar(8,9,10)
//> 11