现在写 JavaScript 的是不是已经没人在用 class 这个关键字了?

现在(2026 年初),写 JavaScript 的人还在大量使用 class 关键字,并没有“没人用”到那种程度,但确实有明显的使用场景分化 + 部分社区偏好转向的现象。

简单说:class 远没有被抛弃,但它已经不是唯一主流、也不是最“时髦”的写法了

2025–2026 年真实使用现状

场景 / 风格class 关键字使用频率主流替代方式典型框架/库生态现状(2025–2026)谁在用 class?
React 类组件极低(几乎绝迹)函数组件 + HooksReact 官方从 16.8 开始强烈推荐函数组件,class 组件已成“历史遗留”极少数老项目维护
React / Vue / Svelte 业务组件函数式 + Composition API / 组合式 APIVue 3 → Composition API,Svelte → runes,React → Hooks很少
TypeScript 大型项目(非 UI)中高class + interface / typeNestJS、tRPC 服务端、Electron 主进程、复杂状态机很多后端/全栈/桌面开发者还在用
库/框架作者、工具类class(继承、静态方法、private/public)Three.js、GSAP、部分状态管理库、Web Components频繁
游戏 / 图形 / 引擎层class(继承链、实例方法清晰)Phaser、Babylon.js、PlayCanvas、自定义渲染器主流
纯函数式 / 小型工具函数factory function / object literal / closureRedux Toolkit、zustand、许多 utility 库偏好 factory
现代极简主义 / FP 社区极低factory / closure / object literal部分 React Query / TanStack 风格作者、一些 indie hacker少数派但声音大

为什么有人觉得“没人用 class 了”?

  1. React 生态的巨大示范效应
    React 从 class → 函数组件的迁移(2019–2023)影响了整整一代开发者。很多人学 JS/TS 的第一课就是“别用 class,用 Hooks”,于是产生了“class 已死”的错觉。
  2. Composition over Inheritance 思潮
    class 天然鼓励继承,而现代 JS/TS 社区更推崇组合 + 闭包 + factory(尤其是 TypeScript 类型推导友好)。文章如“Do you need classes in JS/TS? [2025 version]”就反复讨论这个话题。
  3. private 字段和 # 语法糖
    class 里的 private #field 虽然好用,但 factory + closure 也能实现封装,且更灵活(无 this 绑定问题)。
  4. 噪音大的反 class 声音
    Medium/DEV.to/Reddit 上总有“Stop Using JavaScript Classes!”这类标题党文章,容易制造“大家都不用了”的印象。

实际数据侧写(2025–2026 视角)

  • GitHub 代码搜索:class 关键字在 .js/.ts 文件中出现率仍然很高(尤其 NestJS 项目、Three.js 相关、Electron 应用)。
  • Stack Overflow / MDN:class 文档和问题依然活跃,ES2025 也没有废弃或贬低 class。
  • State of JS 调查(如果 2025 版已出):class 使用率可能在 60–80% 项目中仍有出现,但“主要 OOP 方式”从 class 降到与 factory 并列。

总结一句话

没人完全扔掉 class,但在前端 UI 层(React/Vue/Svelte),class 确实已经退居二线甚至三线;
而在服务端、全栈框架、复杂对象模型、图形/游戏、需要清晰继承的场景,class 仍然是主流写法之一。

如果你现在写的是 React 函数组件 + Hooks,那确实几乎不用 class;
但如果你在写 NestJS 服务、桌面应用、WebGL 工具库或复杂状态管理,class 很可能还是日常主力。

你现在主要在哪个场景写 JS/TS?UI 前端、服务端还是其他?这样我可以更精准说说 class 在你这个方向的地位。

文章已创建 4138

发表回复

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

相关文章

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

返回顶部