JavaScript だと map や filter 等の関数ではコールバック関数の 2 つめに index が 3 つめには配列自身が渡されます
parseInt を map に使うとおかしくなるのは有名です
[1, 1, 1].map(parseInt)
// [1, NaN, 1]
これがあるのと this が壊れることがあるのでアロー関数を使うことが多かったりしますが 直接関数を入れるケースもありえます
多いのだと Boolean でフィルタです
[{a: 1}, null, {a: 2}].filter(Boolean)
// [{a: 1}, {a: 2}]
他にも btoa など受け取る引数が 1 つのものは直接コールバック関数に渡したりします
["abc", "xyz"].map(btoa)
// ['YWJj', 'eHl6']
こういった関数に引数が追加されると 意図せず 2 つめ以降の引数を渡してしまって動作が変わります
引数の追加って互換性あるように見えますが JavaScript みたいに引数の数が一致してなくても動く言語だとそうとも言えなそうですね