В двух словах
array.slice(start?, end?) возвращает новый массив — копию участка без изменения исходного. end не включается.
const arr = ["a", "b", "c", "d"];
arr.slice(1, 3);
arr.slice(-2);
arr.slice();
arr;
Элементы-объекты копируются по ссылке (shallow). У строк есть одноимённый метод для подстрок.
Итог: slice — немутирующее «вырежи кусок / скопируй массив».