Оба используют ... но в противоположных направлениях: spread раскрывает коллекцию на отдельные элементы; rest собирает элементы в один массив/объект.
Spread — раскрытие
js
a = [, ], b = [, ];
merged = [...a, ...b];
copy = [...a];
obj = { ...user, : };
.(...[, , ]);
