- Promise and Proxy design patterns;
- language primitives such as template strings, yield, let and const;
- default and rest (catch-all) function parameters;
- types in arrays and functions;
- class support with extends and static methods; and
- modules support for managing namespaces.