ES6是JavaScript现代化起点,2015年发布,奠定简洁安全可维护基础;核心特性包括let/const块级作用域、箭头函数(继承外层this)、模板字符串(支持插值与多行)、解构赋值(对象数组按名/序取值)。
ES6不是“最新”语法,而是JavaScript现代化的起点——它在2015年正式发布(也叫ECMAScript 2015),奠定了今天日常开发中绝大多数简洁、安全、可维护写法的基础。后续版本(如ES2016~ES2025)都是在其之上渐进增强,但核心范式和高频特性基本来自ES6
。
下面挑出真正常用、影响编码习惯最深的几项,讲清楚是什么、为什么用、怎么避坑:
替代老旧的 var,解决变量提升、全局污染、循环闭包等经典问题。
{}、if、for内)有效,不能重复声明,也不允许在声明前使用(暂时性死区)不只是省几个字,关键是 this 绑定规则变了——它不创建自己的 this,而是继承外层作用域的 this。
nums.map(x => x * 2)
this.element,用箭头函数会出错)arguments,改用剩余参数 ...args
用反引号 ` 包裹,支持变量插值和多行文本。
`Hello ${name}, you have ${count} messages.`
\n 或连接符`Sum: ${a + b}`,甚至调用函数:`Time: ${new Date().toLocaleTimeString()}`
从数组或对象里“按名/按序”直接取值,代码立刻变清晰。
const { name, age } = user;,还能重命名:const { name: fullName } = user;
const { address: { city, zip } } = user;
const [first, , third] = arr;(跳过第二个)或 const [head, ...rest] = arr;
基本上就这些。ES6不是堆砌新功能,而是把开发者天天踩的坑(比如 var 的作用域混乱、this 失控、字符串拼得面目全非)系统性地修好了。后续版本新增的 ?.、??、Promise.allSettled 等,都是在这个稳健底座上长出来的枝叶。