Iterator.concat()

Iterator.concat(...iterables), added in ECMAScript 2026, lazily sequences any number of iterables one after another into a single Iterator (which also has every helper method from 17): the first iterable is fully consumed before the second one is even touched, and so on, without ever materializing an intermediate array the way [...a,...b] would.

Because Iterator.concat() is lazy, it can sequence an infinite iterable after a finite one -- something spreading into an array could never do, since the spread would simply never finish.
function* naturals() {
  let n = 1;
  while (true) yield n++;
}

const seq = Iterator.concat(['a', 'b'], new Set([1, 2]), naturals());
console.log(seq.take(6).toArray());

['a', 'b', 1, 2, 1, 2]