JavaScript 的25个高级特性

JavaScript 的 25 个高级特性(2025–2026 视角)

以下是目前(2025–2026 年)在现代 JavaScript 项目中被广泛使用、且被认为是“高级”或“能显著提升代码质量与架构能力”的 25 个特性,按实用价值和出现频率大致排序。

核心语言特性(ECMAScript 最新进展)

  1. Optional Chaining (?.)
    安全访问可能为 null/undefined 的属性链
    user?.address?.city
  2. Nullish Coalescing (??)
    只在 null/undefined 时才取默认值(区别于 ||)
    const name = input ?? "匿名"
  3. Logical Assignment Operators (&&=, ||=, ??=)
   options.duration ??= 300
   config.enabled &&= isProd
  1. Private Class Fields & Methods (#)
   class Counter {
     #count = 0
     #increment() { this.#count++ }
   }
  1. Top-level await(模块级别)
   const data = await fetchData()
   export default data
  1. Temporal API(提案阶段,但很多 polyfill/库已可用)
    现代日期时间处理,替代 Date 的最佳候选
    Temporal.Now.zonedDateTimeISO()
  2. Array findLast / findLastIndex
    从数组末尾开始查找
  3. Array toSorted / toReversed / toSpliced / with
    不可变数组操作(函数式友好)
  4. Object.hasOwn()
    obj.hasOwnProperty() 更安全(不走原型链)
  5. Promise.withResolvers()
    手动控制 resolve/reject
    js const { promise, resolve, reject } = Promise.withResolvers()

函数式 & 并发相关

  1. Async Iterator & for await…of
    异步迭代器(最常用于流式读取、Web Streams)
  2. Async Generator (async function*) async function* fetchPages() { let page = 1 while (true) { const data = await api.get(page++) yield data if (!data.hasMore) break } }
  3. Promise.allSettled()
    等待所有 promise 完成(不管成功失败)
  4. Promise.any()
    竞速模式:第一个 fulfilled 的 promise 就 resolve
  5. AggregateError(与 Promise.any/allSettled 配合)

模块 & 加载相关

  1. import attributes / import assertions import data from "./data.json" assert { type: "json" }
  2. Dynamic import() with then/catch
    条件加载、路由懒加载、特性探测
  3. import.meta
    js console.log(import.meta.url) console.log(import.meta.env) // Vite / Next.js 等

类型 & 运行时安全

  1. satisfies 操作符(TypeScript) const config = { apiUrl: "https://...", timeout: 5000 } satisfies Partial<Config>
  2. const 类型参数(TypeScript 5.0+)
    ts function getProp<T, const K extends keyof T>(obj: T, key: K) { return obj[key] }

性能 & 现代模式

  1. Temporal Dead Zone (TDZ) + let/const 行为理解
    块级作用域 + 禁止提前访问
  2. WeakMap / WeakSet / WeakRef / FinalizationRegistry
    用于缓存、元编程、避免内存泄漏
  3. Proxy + Reflect
    元编程、响应式系统核心(Vue 3、MobX 等)
  4. Symbol + Symbol.for / Symbol.keyFor
    全局唯一标识、隐藏属性、元编程
  5. 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)

  1. 掌握所有 2020–2023 年已稳定特性(?. ?? # private fields top-level await)
  2. 熟练使用 Promise.allSettled / any / withResolvers
  3. 深入理解 Proxy / Reflect / WeakMap(写框架必备)
  4. 关注 Temporal(未来 Date 的终结者)
  5. 实践 const 类型参数 + satisfies(TS 项目质量飞跃)

你目前最常使用哪些高级特性?
或者你对哪个特性最感兴趣,想看更详细的代码示例?可以直接告诉我。

文章已创建 4516

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部