跳到主要内容

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

箭头函数语法简洁,且不绑定自己的 thisarguments,其 this 来自定义时的词法环境。因此不适合作为对象方法或需要动态 this 的场景。

class 语法

class 是构造函数的语法糖,提供 constructor实例方法、静态方法 static、继承 extendssuper。类不会被提升,存在暂时性死区。

模块化

ES Module 使用 export 导出,import 导入,静态分析支持 tree-shaking。import 路径必须为完整标识符或相对/绝对路径,后缀 .js 在浏览器中通常不可省略。

export const add = (a, b) => a + b;
import { add } from './math.js';