ES6+ 特性
本文汇总 ES6(ES2015)及之后版本中常用的语法特性,帮助快速掌握现代 JavaScript 写法。
解构赋值
数组按顺序解构,对象按属性名解构,支持默认值与重命名。解构可用于变量声明、函数参数等场景。
const { name, age = 18 } = user;
const [first, ...rest] = arr;
展开与剩余运算符
... 既可作为展开(spread)将数组或对象拆分为独立元素,也可作为剩余(rest)将多余参数收集为数组或对象。两者语法相同,语义取决于使用位置。
const merged = { ...defaults, ...options };
function fn(first, ...others) { return others; }
模板字符串
反引号包裹的字符串支持 ${} 内嵌表达式与多行文本,可内嵌任意 JS 表达式,常用于字符串拼接与动态 HTML。
箭头函数与 this
箭头函数语法简洁,且不绑定自己的 this、arguments,其 this 来自定义时的词法环境。因此不适合作为对象方法或需要动态 this 的场景。
class 语法
class 是构造函数的语法糖,提供 constructor、实例方法、静态方法 static、继承 extends 与 super。类不会被提升,存在暂时性死区。
模块化
ES Module 使用 export 导出,import 导入,静态分析支持 tree-shaking。import 路径必须为完整标识符或相对/绝对路径,后缀 .js 在浏览器中通常不可省略。
export const add = (a, b) => a + b;
import { add } from './math.js';