仮引数のデフォルト値に変数や式、関数も指定できる

仮引数のデフォルト値として、下記の例では変数、式、直前までの仮引数、関数を利用している。

let 変数 = 10
function 関数(仮引数1 = 変数, 仮引数2 = 仮引数1 * 10, 仮引数3 = (x) => x * 10) {
  console.log(仮引数3(仮引数2))
}

関数() // 1000
関数(100, undefined, (x) => x / 10) // 100

マーク部分はアロー関数で、仮引数3はコールバック関数となる。