首先是let和const声明,解决了var的变量提升和块级作用域问题。let声明可变变量,const声明常量。

箭头函数,语法更简洁,this指向更明确,不会改变this的指向。

解构赋值,可以从数组或对象中快速提取值,让代码更简洁。

模板字符串,使用反引号和${}语法,支持多行字符串和变量插值。

Promise,解决了回调地狱问题,提供了更好的异步编程方案。

class语法,让JavaScript的面向对象编程更接近传统语言。

模块化,import和export语法,让代码可以更好地组织和复用。

还有扩展运算符、默认参数、rest参数、Symbol类型、Set和Map数据结构、Proxy和Reflect等。

这些新特性让JavaScript更现代化,开发效率更高,代码更易维护。现在大部分项目都会使用ES6+的语法,配合Babel进行转译以兼容老版本浏览器。