slice: 部分コピーを返す(非破壊)。splice: 要素の追加・削除(破壊的)
// ── slice: 元の配列を変更しない(非破壊)────────────────
const arr = [0, 1, 2, 3, 4, 5];
// slice(start, end): end は含まない
console.log(arr.slice(1, 4)); // [1, 2, 3]
console.log(arr.slice(-2)); // [4, 5](後ろから2つ)
console.log(arr.slice(2)); // [2, 3, 4, 5](2番目以降)
console.log(arr); // [0, 1, 2, 3, 4, 5](変わらない)
// ── splice: 元の配列を変更する(破壊的)────────────────
const colors = ['red', 'green', 'blue'];
// splice(index, deleteCount, ...追加要素)
const removed = colors.splice(1, 1, 'yellow', 'purple');
// インデックス1から1つ削除し、'yellow'と'purple'を挿入
console.log(removed); // ['green'](削除された要素)
console.log(colors); // ['red', 'yellow', 'purple', 'blue']sliceは非破壊なのでコピー目的によく使われる。spliceは要素の追加・削除・置換を一度に行える。