Checkout this video:
– Arrow functions
– Generator functions
– let and const keywords
The most notable new feature is classes. In ES6, you can define classes just like you would in any other object-oriented programming language. This makes it easier to write structured code and helps reduce the amount of boilerplate code you have to write.
Other important features include modules (which help with code organization), template strings (which make it easier to interpolate values into strings), and destructuring (which makes it easier to extract data from arrays and objects).
ES6 also includes a variety of smaller improvements, such as default function parameters, rest parameters, spread operator, and more.
One of the most important additions in ES6 is the let keyword, which allows developers to declare variables with reduced scope. This can help improve performance by limiting the number of global variables that are created, and also helps to prevent collisions between variable names.
Other performance-related changes include improved handling of promises (a feature that allows asynchronous code to behave like synchronous code), and support for Tail Call Optimization (a technique for making recursive functions more efficient).