JavaScript周刊 - 2025年12月5日

79 阅读6分钟

December 5, 2025

120501.jpg

🎉 JavaScript 迎来 30 周岁 🎉

1995 年 5 月,33 岁的 Brendan Eich 仅用十天就构建了 JavaScript 的第一个原型,最初代号为 Mocha(后来改名为 LiveScript)。1995 年 12 月 4 日,Netscape 和 Sun Microsystems 在新闻稿中正式宣布了 "JavaScript",将其描述为 "一种易于使用的对象脚本语言,旨在创建将客户端和服务器上的对象和资源链接在一起的实时在线应用程序"

三十年来,JavaScript 已经巩固了其在 Web 平台核心的地位,并更广泛地应用于桌面应用、操作系统(例如 Windows 使用 React Native)、移动应用,甚至微控制器上。祝愿 JavaScript 再续辉煌三十年,同时也希望围绕 JavaScript 商标的混乱和诉讼能够得到解决。拜托了 Larry,给我们一个难忘的圣诞礼物吧?😅

TypeScript 7 的进展

TypeScript 7 的进展 — TypeScript 项目最近几个月在公开场合比较沉默,但在幕后他们一直在努力开发 TypeScript 6.0 和 7.0。v6.0 将是最后一个基于 JavaScript 的版本,作为原生 Go 移植版本(v7.0)的过渡版本,后者已经初具规模,速度提升约 10 倍。

Anthropic 收购了 Bun JavaScript 运行时

Anthropic 收购了 Bun JavaScript 运行时Bun 这个由 JavaScriptCore 驱动的 JS/TS 运行时度过了紧张的几年。以 Claude LLM 闻名的 Anthropic 正在押注 Bun 来驱动其 Claude Code 代理开发工具等。Jarred 在这里讲述了 Bun 的完整故事,并向我们保证 Bun 将保持开放,并因此变得更好。

简讯

发布

📖 文章和视频

不再有令牌:锁定 npm 发布工作流

不再有令牌:锁定 npm 发布工作流 — 在最近一系列 npm 安全事件之后,11ty 的创建者 Zach 对他的 npm 安全足迹进行了审计,并分享了一些我们都可以使用的技巧。

💡 Liran Tal 也分享了一些npm 安全最佳实践供采用。

使用 JSDoc 的 JavaScript 类型化细节

使用 JSDoc 的 JavaScript 类型化细节 — 如果你更喜欢 JavaScript 而不是 TypeScript(我知道你们中有很多人!)但仍想获得一些类型的好处,JSDoc 提供了一个有趣的替代方案。

浏览器处理 Base64 数据有多快?

浏览器处理 Base64 数据有多快? — 在大多数情况下,现代硬件上每秒可达数千兆字节,除了 Firefox 和 Servo。

用 JavaScript 制作"无人机环境噪音"合成器

用 JavaScript 制作"无人机环境噪音"合成器 — 一篇有趣的文章,介绍了一个使用 Web Audio API 和粒度合成将任何文件转换为声音的工具。你可以在这里尝试在线演示

其他文章

📊 比较 AWS Lambda Arm 与 x86 在各运行时的性能 – 不同版本的 Node.js 经过测试。在 Lambda 上,Arm 似乎比 x86 有很大优势。

📄 Angular Pipes:重新思考的时候 – 我们这些天很少看到高质量的 Angular 文章,所以这是一种享受。

📄 TypeScript 严格性是非单调的:strictNullChecks 和 noImplicitAny 如何交互

📄 如何用 TypeScript 测试 Vue Composable

📄 面向 JavaScript 开发者的范畴论

🛠 代码和工具

TanStack AI:LLM/AI 提供商的统一接口

TanStack AI:LLM/AI 提供商的统一接口 — 快速增长的 TanStack 库家族的最新成员,提供了一个统一的、框架无关的接口来连接多个 AI API,完整支持流式传输和 Zod schema 推断。目前处于 alpha 阶段。GitHub 仓库

💡 另一个新成员是 TanStack Pacer,它提供框架无关的防抖、节流、速率限制、队列和批处理实用工具。

Remend:自动修复损坏的流式 Markdown

Remend:自动修复损坏的流式 Markdown — 为你的应用带来智能的不完整 Markdown 处理,特别适用于与 LLM 配合使用。它是从 Vercel 的 Streamdown 库中提取的,这是一个为 AI 驱动的流式传输设计的 react-markdown 替代品。

Tinybench 6.0:一个小巧简单的基准测试库

Tinybench 6.0 — 使用任何可用的精确计时功能(例如 process.hrtime 或 performance.now)。你可以对任何函数进行基准测试,指定运行时间或次数,并获得各种统计数据——它可以跨多个运行时运行。GitHub 仓库

Ruby2JS:Ruby 到 JavaScript 的转译器

Ruby2JS — 一个旨在保持结果代码看起来像"手工制作"而不仅仅是转译的转译器。在主页上试用在线演示来感受一下。

其他工具更新

📰 分类广告

📢 生态系统中的其他地方

更广泛领域中的其他有趣话题:


原文链接:JavaScript Weekly #764