オブジェクトが持つ関数(メソッド)の実行によりそのオブジェクトの内容が変更される場合、それを破壊的メソッドという。
仮引数が破壊的メソッドを使うと実引数にも反映する。(実引数も仮引数も同じオブジェクトを指す)
function 変更(配列) {
配列.pop() // 破壊的メソッド
}
// 破壊的メソッドとはそのオブジェクトを変化させるメソッド。
let 配列 = [1, 2]
配列.slice(1) // 非破壊的メソッド。本来は戻り値を利用するメソッド。
console.log(配列) // [ 1, 2 ]
配列.pop() // 破壊的メソッド。元の配列が変化。
console.log(配列) // [ 1 ]
let 実引数 = [1, 2]
変更(実引数)
console.log(実引数) // [ 1 ]