QuickJS 基于 C 实现的 JavaScript 引擎 项目简介
QuickJS 是一个轻量且可嵌入的 JavaScript 引擎,它支持 ES2019 规范,包括 ES module、异步生成器以及 proxies。除此之外,还支持可选的数学扩展,例如大整数(BigInt)、大浮点数(BigFloat)和运算符重载。主要特性如下轻量且方便嵌入:QuickJS 只包含一些 C 语言文件,没有额外的依赖,运行一个简单的 hello world 只需要 190 KiB 的 x86 代码 拥有启动时间极短的快速解释器:在单核的台式 PC 上,运行 ECMAScript 测试套件的 56000 个测试大约在 100 秒内完成。一个 runtime 实例的完整生命周期在不到 300ms 内完成 几乎完整的 ES2019 支持,包括 ES module、异步生成器和完整的 Annex B 支持(传统的 Web 兼容性) 完全通过了 ECMAScript 测试套件的测试 可将 JavaScript 源码编译为没有外部依赖的可执行文件 基于引用计数的 GC(以减少内存使用并具有确定性行为) 数学扩展:BigInt、BigFloat、运算符重载、bigint mode 和 math mode 使用 Javascript 实现的具有上下文着色功能(contextual colorization)的命令行解释器 包含使用 C 语言库封装的轻量级内置标准库BTW,QuickJS 的作者是 Fabrice Bellard,知名开源项目 FFMPEG 和 QEMU 都出自他手。