Spread syntax and rest syntax allow iterable objects like arrays and strings to be expanded in function calls, array literals, and object literals. Spread syntax spreads the elements into separate arguments/elements, while rest syntax collects remaining elements into a single variable. Tagged template literals allow functions to operate on template literal strings before they are evaluated. Decorators propose a way to annotate and modify classes and class elements.