686 期 - TypeScript v5.5 测试版发布
本期看点:它不会是最终版本(预计在一两个月内),但 v5.5 版本受许多人的期待,因为它有许多增强,包括推断类型谓词、通过注释在 JSDoc 中导入类型的能力、regex 语法检测、独立声明等等。
编辑:Yucohny、Zhper
🔥 本周热门
▶ “为什么不推荐用const
以及你很可能用错了" —— 这是一场 12 分钟的关于 const
和 let
错误用法的有趣演讲。这肯定会激起一些强烈的反应(在 Twitter 的帖子 上可以看到),但请让他表达自己的观点!
Ryan Florence
TypeScript v5.5 测试版发布 —— 它不会是最终版本(预计在一两个月内),但 v5.5 版本受许多人的期待,因为它有许多增强,包括 推断类型谓词、通过注释在 JSDoc 中导入类型 的能力、regex 语法检测、独立声明 等等。如果你需要更多实际的示例,Matt Pocock 🐦 写了一篇很好的 Twitter 帖子。
Microsoft
快讯:
-
The New Stack 有 一个关于 Ryan Dahl 的专题以及他对打包、JSR 和 TypeScript 的看法。
-
MoonBit 是一个 WebAssembly 驱动的云平台,它现在也可以使用 JavaScript 作为后端 并声称速度非常快。
-
Zachary Lee 有 一个 React v19 测试版的快速指南,更多的采用代码指导的方法而非文字说明。
📒 教程与趣事
“我回顾了 1000 个关于 HTMX 的观点” —— htmx 是一种越来越流行的,通过创造性地使用 HTML 属性来使用现代的、动态的浏览器功能的方式,而非手动使用 JavaScript 编写一切。Dylan 主要从社区情绪的角度看待利弊。
Dylan Huang
Node v22 开始原生支持 CJS/ESM 的互操作性 —— 这是 Node 开发人员在使用 CommonJS 和 ECMAScript 模块时的新时代概述。
Zachary Lee
终于理解了 Array.sort(comparator)
是如何工作的 —— “在学习了 13 年的 JavaScript 之后,我终于有办法记住 Array.sort()
中的 comparator 函数是如何工作的……”
James Kerr
检测 CSS 中 JavaScript 的支持 —— 一种根据用户浏览器中是否有 JavaScript 并提供替代 CSS 规则的方法。
Ryan Mulligan
深入 JavaScript 沙盒 —— “发掘 Deno 中几个不同漏洞的旅程。”
Secfault Security
如何使用 Node 和 Fastify 构建文档优良且经过认证的 API
Julían Duque (Heroku)
Prosopo
Eric Simons
从 jQuery 到 Vanilla JavaScript 的小窍门
Tobias Ahlin
Antonello Zanini
🛠 代码与工具
extension.js:零配置、跨浏览器扩展开发入门 —— 我们的目标是使它像使用一句 npx extension create my-extension
就能开始构建自己的浏览器扩展一样简单。这是 GitHub 仓库
Cezar Augusto
Layer Cake:一个面向 Svelte 的图形框架 —— 该库为你提供了一个通过普通元素(例如坐标系统和比例)创建响应式 web 图形的基准。在这里查看 许多示例组件。
Layer Cake
Tagify v4.2:一个优雅的标签输入组件 —— 这个精选的演示可见已经投入了大量的努力。这是 GitHub 仓库
Yair Even-Or
Journey.js:零依赖库创建交互式导览 —— 在线演示十分基础,但对可访问性的关注和 51 种语言的内置支持是加分项。
William Troup
📺 YouTube.js:非官方的 YouTube API 客户端库 —— “InnerTube” 是 YouTube 客户端使用的 API,你也可以使用它,尽管他们可能不喜欢这个 API。它可以运行在 Node.js、Deno 和现代浏览器上。
LuanRT
Virtual x86:基于 JavaScript 和 WASM 的 x86 虚拟化 —— 在浏览器中运行 Linux、许多旧版本的 Windows、BSD、MS-DOS 和其他系统(而且速度很快)。这不是一个新项目,但我总是会对它不断更新的方式印象深刻。这是 GitHub 仓库
Fabian Hemmer
版本发布:
-
⭐️ Svelte v5 发布候选版本 - "从现在到稳定版本之间没有预期的突破性变化。" 在一个简短的谈话种,▶️ Rich Harris 解释了新的改变。
-
Bun v1.1.6 – 现在支持 UDP 套接字,
Array#sort
快了许多。并且 v1.1.5 引入了独立可执行文件的交叉编译。 -
Astro v4.7 – 还有一个关于项目整体新内容的 综述。
-
😀 Emoji Mart v5.6 – 用于 web 的表情符号选择组件(如上图)。
-
✍️ Atrament v4.2 – 原生 javascript 实现的 canvas 画板框架。
-
📄 React-PDF v8.0 – 展示 PDF 的 React 组件。现在支持 React v19。
-
TanStack Virtual v3.5 – 用于虚拟可滚动元素的无头 UI。
-
TestCafe v3.6 – 自动化的端到端 web 测试框架。
-
Preact v10.21 - 3KB 的 React 兼容性代替方案。