资讯动态

QuickJS支持ES2020有多快?15个新特性开箱即用完整清单

发布时间:2026/8/22 14:39:55 来源:尧图企业网站定制
QuickJS支持ES2020有多快15个新特性开箱即用完整清单【免费下载链接】QuickJSQuickJS is a small and embeddable Javascript engine. QuickJS sources are copyright Fabrice Bellard and Charlie Gordon.项目地址: https://gitcode.com/gh_mirrors/quick/QuickJSQuickJS 是一款小巧可嵌入的 JavaScript 引擎对 ES2020 规范几乎完整支持模块化、异步生成器、BigInt、可选链、空值合并等 15 个新特性开箱即用且以近 100% 的通过率通过 ECMAScript Test Suitetest262的 ES2020 特性测试集。下面这份清单帮你快速了解 QuickJS 的 ES2020 支持到底有多全、有多快。一、QuickJS 是什么凭什么说它快QuickJS 由 Fabrice BellardQEMU 作者和 Charlie Gordon 开发核心卖点在官方文档 doc/quickjs.texi 中写得很明确指标数据代码体积仅几个 C 文件、无外部依赖x86 下 hello world 程序约 210 KiB启动速度运行时完整生命周期 300 微秒测试性能单核桌面 CPU 上跑完 test262 约 69000 个测试仅约95 秒合规度选中 ES2020 特性集时通过率接近 100%换句话说它的快不仅是执行快对 ES2020 新特性的支持也是同级别引擎中最快的之一——无需 polyfill无需配置编译即用。二、15 个 ES2020 新特性开箱即用清单 ✅结合 Changelog 与源码 quickjs.c 的实现以下是全部 15 个开箱即用的特性1. 语法级特性写代码最爽的部分#特性说明1可选链?.安全访问深层嵌套属性Changelog 记录于 2019-12-212空值合并??仅在null/undefined时取默认值3逻辑赋值/\|\|/??2020-09-06 版本加入少写一堆 if 判断4globalThis全局对象跨环境统一的全局引用2. 模块与异步QuickJS 的强项#特性说明5ES 模块import/export完整支持.mjs自动识别6动态import()2019-07-28 加入运行时按需加载7import.meta支持import.meta.url和 QuickJS 扩展的import.meta.main8异步生成器async function*全功能支持3. 对象与数据类型#特性说明9BigInt任意精度整数Atomics也支持 BigInt 操作10Object.fromEntries()2019-07-28 加入把键值对数组转对象4. 字符串与 Promise2020 年度主角#特性说明11String.prototype.matchAll()全局匹配并返回迭代器12String.prototype.replaceAll()一次替换所有匹配项2020-01-05 加入13Promise.allSettled()等待全部 Promise 完成无论成败14Promise.any()任一成功即成功2020-04-12 加入15AggregateError配合Promise.any()收集所有失败原因 额外彩蛋QuickJS 还提前实现了 TC39 提案的公共/私有类字段#privateField属于 ES2022 特性等于又送了你一项未来特性。三、如何一键验证这些特性无需安装额外工具编译即可体验make ./qjs examples/hello.js想跑性能基准测试直接运行tests/microbench.js./qjs tests/microbench.js也可以在交互模式./qjs -i里随手验证比如Promise.any([Promise.reject(1), Promise.resolve(ok)]) a-b-c.replaceAll(-, ) ?. ?. // 可选链四、哪些还没有⚠️官方文档doc/quickjs.texi的 ES2020 support 小节明确列出了唯一的缺项尾调用优化Tail calls——官方认为该规范过于复杂且实用价值有限ECMA402 国际化 API尚未支持。除这两点外ES2020 规范含 Annex B 遗留 Web 兼容和 Unicode 相关特性几乎全部落地。五、总结QuickJS 的 ES2020 支持值不值得用✅值得。15 个核心新特性全部开箱即用外加BigDecimal、BigFloat、运算符重载等数学扩展以及把 JS 直接编译成无依赖可执行文件的qjsc工具链。如果你的场景是嵌入式设备、轻量脚本运行、CLI 工具QuickJS 是目前最接近零成本享受完整 ES2020的选择之一。更多细节可查阅doc/quickjs.texi官方规范文档、Changelog特性引入时间线、Makefile编译配置、tests/目录下的test_bignum.js等测试用例。【免费下载链接】QuickJSQuickJS is a small and embeddable Javascript engine. QuickJS sources are copyright Fabrice Bellard and Charlie Gordon.项目地址: https://gitcode.com/gh_mirrors/quick/QuickJS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价