JavaScript 的 25 个高级特性(2025–2026 视角)
以下是目前(2025–2026 年)在现代 JavaScript 项目中被广泛使用、且被认为是“高级”或“能显著提升代码质量与架构能力”的 25 个特性,按实用价值和出现频率大致排序。
核心语言特性(ECMAScript 最新进展)
- Optional Chaining (?.)
安全访问可能为 null/undefined 的属性链user?.address?.city - Nullish Coalescing (??)
只在 null/undefined 时才取默认值(区别于 ||)const name = input ?? "匿名" - Logical Assignment Operators (&&=, ||=, ??=)
options.duration ??= 300
config.enabled &&= isProd
- Private Class Fields & Methods (#)
class Counter {
#count = 0
#increment() { this.#count++ }
}
- Top-level await(模块级别)
const data = await fetchData()
export default data
- Temporal API(提案阶段,但很多 polyfill/库已可用)
现代日期时间处理,替代 Date 的最佳候选Temporal.Now.zonedDateTimeISO() - Array findLast / findLastIndex
从数组末尾开始查找 - Array toSorted / toReversed / toSpliced / with
不可变数组操作(函数式友好) - Object.hasOwn()
比obj.hasOwnProperty()更安全(不走原型链) - Promise.withResolvers()
手动控制 resolve/rejectjs const { promise, resolve, reject } = Promise.withResolvers()
函数式 & 并发相关
- Async Iterator & for await…of
异步迭代器(最常用于流式读取、Web Streams) - Async Generator (async function*)
async function* fetchPages() { let page = 1 while (true) { const data = await api.get(page++) yield data if (!data.hasMore) break } } - Promise.allSettled()
等待所有 promise 完成(不管成功失败) - Promise.any()
竞速模式:第一个 fulfilled 的 promise 就 resolve - AggregateError(与 Promise.any/allSettled 配合)
模块 & 加载相关
- import attributes / import assertions
import data from "./data.json" assert { type: "json" } - Dynamic import() with then/catch
条件加载、路由懒加载、特性探测 - import.meta
js console.log(import.meta.url) console.log(import.meta.env) // Vite / Next.js 等
类型 & 运行时安全
- satisfies 操作符(TypeScript)
const config = { apiUrl: "https://...", timeout: 5000 } satisfies Partial<Config> - const 类型参数(TypeScript 5.0+)
ts function getProp<T, const K extends keyof T>(obj: T, key: K) { return obj[key] }
性能 & 现代模式
- Temporal Dead Zone (TDZ) + let/const 行为理解
块级作用域 + 禁止提前访问 - WeakMap / WeakSet / WeakRef / FinalizationRegistry
用于缓存、元编程、避免内存泄漏 - Proxy + Reflect
元编程、响应式系统核心(Vue 3、MobX 等) - Symbol + Symbol.for / Symbol.keyFor
全局唯一标识、隐藏属性、元编程 - Atomics & SharedArrayBuffer(多线程 JS)
用于 Web Workers 之间安全共享内存
快速分类总结(按使用频率排序)
几乎每天都会用到的(前 10)
1–10 中的 optional chaining、nullish、private fields、top-level await、logical assignment、toSorted 等
中高级项目中常见(11–18)
异步迭代器、Promise.allSettled/any、import assertions、dynamic import
架构/框架/库开发者级别(19–25)
satisfies、const 类型参数、Proxy、WeakRef、SharedArrayBuffer、Atomics
推荐学习优先级(2025–2026)
- 掌握所有 2020–2023 年已稳定特性(?. ?? # private fields top-level await)
- 熟练使用 Promise.allSettled / any / withResolvers
- 深入理解 Proxy / Reflect / WeakMap(写框架必备)
- 关注 Temporal(未来 Date 的终结者)
- 实践 const 类型参数 + satisfies(TS 项目质量飞跃)
你目前最常使用哪些高级特性?
或者你对哪个特性最感兴趣,想看更详细的代码示例?可以直接告诉我。