You are correct, the spread syntax does not technically create an array, it “expands an iterable” in places where multiple arguments are expected, such as parameters being passed into a function or items being added to an array. By placing the square brackets around the spread syntax you are then putting the expanded result of the spread into an array.