本期话题包含 Polyfills、Deno、纪录片、响应式模式、基准测试、JavaScript API、JScript、TypeScript、Biome、Svelte 等。
- 加快JavaScript生态系统 - 失控的 Polyfills - 本文讨论了JavaScript项目中的依赖管理问题,特别是与Polyfills(兼容性补丁)相关的依赖。作者指出许多流行的npm包依赖于比实际需要的更多的包,其中大部分是不必要的Polyfills,这是node_modules文件夹变得如此庞大的主要原因之一。作者发现eslint生态系统似乎受到了这个问题的最大影响。 文章提到,许多依赖问题是由于一些包在导入和调用Polyfill函数时存在错误使用的情况。Polyfill函数应该在运行时环境中修补缺失的功能,而不是直接导入和调用。这导致了大量不必要的依赖和冗余的Polyfills。作者以eslint-plugin-react为例,指出其中存在对已经内置于所有JavaScript引擎中的函数的Polyfill依赖,这是不必要的……
- Deno 1.37:在Jupyter笔记本中使用现代JavaScript - Deno 1.37 是一个版本更新,旨在极大地简化软件开发,并引入了与Jupyter笔记本的互动性。该版本提供了新的deno jupyter命令,可创建在笔记本中使用的Deno内核。此外,Deno 1.37还提供了更强大的Visual Studio Code(VSCode)和LSP支持,改进的测试性能,改善的Node.js兼容性以及许多错误修复。
- 纪录片:TypeScript起源 - TypeScript 的起源与发展。
- 使用 Vanilla JavaScript 实现响应式模式 - 这篇文章介绍了在 Vanilla JavaScript 中实现响应性的模式。文章首先解释了响应性是系统对数据变化做出反应的方式,然后指出在网站和Web应用程序中,JavaScript扮演着重要的角色,因为浏览器是一个完全异步的环境。为了响应用户输入、与服务器通信、记录日志等任务,我们需要处理UI的更新、Ajax请求、浏览器URL和导航变化,这使得级联数据变化成为Web开发的核心方面。 虽然我们通常将响应性与框架关联起来,但实际上你可以通过 Vanilla JavaScript 学习很多内容。可以混合使用这些模式来将行为与数据变化相连接。 通过使用 Vanilla JavaScript 学习核心模式,无论你使用的是哪种工具或框架,都可以减少代码量并提高Web应用的性能。
- JavaScript 压缩基准测试 - 一个经常更新的基准测试套件和结果,用于比较esbuild、Babel、Bun、SWC和Uglify等多种工具在JavaScript压缩的速度和质量方面的表现。
- JavaScript 疑惑:为什么对于空数组,every() 方法会返回 true? - 本文探讨了 JavaScript 中的 every() 方法在处理空数组时返回 true 的原因。作者在重构使用 every() 方法的代码时,发现自己并没有真正理解该方法的逻辑。通常情况下,人们会认为在调用 every() 方法时,回调函数必须每次返回 true 才会返回 true,但实际情况并非如此。对于空数组,every() 方法会无论回调函数如何,都返回 true,因为回调函数根本不会被调用。文章还介绍了 every() 方法的实现原理,并解释了为什么空数组对 every() 方法返回 true。此外,还提到了数学中的普遍量化概念和其他编程语言中类似的方法。最后,文章给出了建议,即在使用 every() 方法或可能为空的数组时,应事先进行明确的检查,以避免错误。作者建议在阅读 every() 方法时,将其理解为“这个数组中是否有任何一个项不满足条件?”而不是“这个数组中的所有项是否都满足条件?”。
- 庆祝 JScript 27周年生日 - Microsoft 在 Internet Explorer 3.0 中将 JavaScript 实现为名为 JScript 1.0 的语言。通过将名称更改为 JScript,Microsoft 希望避免与创建 Java 编程语言的 Sun Microsystems 发生潜在的专利纠纷。
- TypeScript 5.3 新特性速览 - 本文介绍了 TypeScript 5.3 版本中即将推出的一些新特性和改进。
- Biome 官宣 - 本文宣布了一个名为Biome的工具链,它是Rome的官方分支,并由同一团队负责维护。文章提供了背景故事,解释了为什么核心团队创建了一个新项目以及新名称的原因。
- 你不需要学习 Svelte 的原因 - 这篇文章讨论了为什么你可能不需要学习Svelte框架。作者指出,Svelte并不需要你学习全新的技术,因为它本质上就是JavaScript的一种变体。Svelte是一个编译型、简洁而完整的UI框架,它能够将你熟悉的HTML、CSS和JS代码编译成高效的JavaScript代码。相比其他框架,Svelte更加直观和简单,它利用JavaScript的基本概念和语法,不需要你去学习复杂的抽象概念。
本文在编写过程采用了 GPT4 技术进行辅助。