Have been using the spread operator via Babel for several months now. It's definitely convenient - saving me from writing several extra lines of code.
I worry that spread operators make code less readable. You really have to squint and think more when confronted with one.
They also make your code less understandable to a beginner, or people coming from other languages.
One of my favorite ways to use them:
const foo = {};
if (bar) {
foo.bar = bar;
}
Turns into: const foo = {
...bar && {bar},
};