- Block bindings
- Assignment destructing
- Spread operator
- Default function params
- Arrow functions
- Template literals
- Object literals
- Classes
- Symbols
- Iterators
- Promises
- Generators
- Maps
- WeakMaps
- Sets
- WeakSets
- Proxy
- Modules
- Object
- Number
- Math
- Array
- String
- Array.prototype.includes(needle, startIndex = 0)
- Exponentiation operator: num1 ** num2 == Math.pow(num1, num2)
- ES2017: Object.values()/Object.entries()
- Asynchronous functions
- String.prototype.padStart()/String.prototype.padEnd()
- Trailing commas in function params and calls: function (a, b,) {}