仮引数の破壊的メソッドは実引数に反映

オブジェクトが持つ関数(メソッド)の実行によりそのオブジェクトの内容が変更される場合、それを破壊的メソッドという。

仮引数が破壊的メソッドを使うと実引数にも反映する。(実引数も仮引数も同じオブジェクトを指す)

function 変更(配列) {
  配列.pop() // 破壊的メソッド
}

// 破壊的メソッドとはそのオブジェクトを変化させるメソッド。
let 配列 = [1, 2]
配列.slice(1) // 非破壊的メソッド。本来は戻り値を利用するメソッド。
console.log(配列) // [ 1, 2 ]
配列.pop() // 破壊的メソッド。元の配列が変化。
console.log(配列) // [ 1 ]

let 実引数 = [1, 2]
変更(実引数)
console.log(実引数) // [ 1 ]