ES6引入let/const实现块级作用域与暂时性死区,箭头函数简化语法并词法绑定this,模板字符串支持多行文本与嵌入表达式,解构赋值从数组对象中高效提取数据。
ES6(ECMAScript 2015)是JavaScript发展史上的一个重要里程碑,它引入了一系列现代化的语法和功能,极大地提升了开发效率和代码质量。掌握这些核心特性,是现代前端开发的必备技能。
ES6 引入了 let 和 const 来替代老旧的 var,解决了长期存在的作用域和变量提升问题。
{} 内有效,例如在 if、for 或 while 语句中。这避免了 var 的函数级作用域带来的变量泄漏风险。
会抛出错误,这种机制被称为“暂时性死区”(TDZ),有助于及早发现编码错误。最佳实践是优先使用 const,只有当变量值需要改变时才使用 let,完全避免使用 var。
箭头函数提供了更简洁的函数写法,并解决了传统函数中 this 指向混乱的经典问题。
(a, b) => a + b 就是一个计算两数之和的箭头函数。bind 或缓存 self = this 等技巧。它们特别适合用作数组方法(如 map、filter、reduce)的回调函数。
模板字符串使用反引号 ` 定义,让字符串操作变得前所未有的简单和直观。
\n 转义符,非常适合编写HTML片段或长段落文字。${expression} 语法,可以将变量、运算甚至函数调用的结果直接嵌入到字符串中,彻底取代了繁琐的加号拼接。例如:const greeting = `Hello, ${name}! You are ${age} years old.`;
解构赋值是一种从数组或对象中高效提取值并赋给变量的语法糖,代码更清晰易读。
const [first, second] = ['apple', 'banana']; 会将 'apple' 赋给 first,'banana' 赋给 second。const { name, age } = user; 会从 user 对象中提取 name 和 age 属性的值。这一特性在接收函数参数或从 API 响应中提取数据时非常实用。
基本上就这些核心内容。