JavaScript 引擎是一种解释和执行 JavaScript 代码的软件程序或程序集合。它是将 JavaScript 代码转换成计算机可以理解和执行的指令的核心组件。JavaScript 引擎通常嵌入在 Web 浏览器或 Node.js 这样的服务器环境中,并负责解析和编译 JavaScript 代码、优化执行效率、管理内存等任务。
目前主流的 JavaScript 引擎有 V8、SpiderMonkey、Chakra、JavaScriptCore 等。V8 是由 Google 开发的,主要用于 Chrome 浏览器和 Node.js;SpiderMonkey 是 Mozilla 开发的,主要用于 Firefox 浏览器;Chakra 是 Microsoft 开发的,主要用于 Edge 浏览器;JavaScriptCore 是 Apple 开发的,主要用于 Safari 浏览器。
JavaScript 引擎通过不同的解析器和编译器实现对 JavaScript 代码的处理。通常,它们会将 JavaScript 代码解析成抽象语法树(AST),然后对 AST 进行优化和编译,最终生成可执行的机器码或字节码。在执行 JavaScript 代码时,引擎会实时解释和执行代码,并负责管理内存、垃圾回收等任务。