I guess it depends on point of view. When you declare function it is "rest": function funcName(a, b, ...rest) { console.log(rest); } When you call function (or fill array, object) and try to pass a few arguments it is "spread": funcName(...spread); [...spread]; {...spread};