V8 是由 Google 开发的开源 JavaScript 引擎,是 JavaScript 虚拟机的一种,模拟实际计算机各种功能来实现代码的编译和执行。我们可以简单地把 JavaScript 虚拟机理解成是一个翻译程序,将人类能够理解的 编程语言 JavaScript,翻译成机器能够理解的机器语言。目前主要用在 Chrome 浏览器和 Node.js 中。如下图所示:

img

图中中间的「黑盒」就是 JavaScript 引擎 V8。目前市面上有很多种 JavaScript 引擎,诸如 SpiderMonkey、V8、JavaScriptCore 等。而由谷歌开发的开源项目 V8 是当下使用最广泛的 JavaScript 虚拟机。

V8 是用 C ++ 编写的开源高性能 JavaScript 和 WebAssembly 引擎,它已被用于 Chrome 和 Node.js 等。可以运行在 Windows 7+,macOS 10.12 + 和使用 x64,IA-32,ARM 或 MIPS 处理器的 Linux 系统上。V8 最早被开发用以嵌入到 Google 的开源浏览器 Chrome 中,第一个版本随着第一版 Chrome 于 2008 年 9 月 2 日发布。但是 V8 是一个可以独立运行的模块,完全可以嵌入到任何 C ++ 应用程序中。著名的 Node.js (一个异步的服务器框架,可以在服务端使用 JavaScript 写出高效的网络服务器) 就是基于 V8 引擎的,Couchbase, MongoDB 也使用了 V8 引擎。

和其他 JS 引擎一样,V8 会编译 、执行 JavaScript 代码,管理内存,负责垃圾回收,与宿主语言的交互等。通过暴露宿主对象 (变量,函数等) 到 JavaScript,JavaScript 可以访问宿主环境中的对象,并在脚本中完成对宿主对象的操

image-20220318110321885

关于 V8 的方方面面可以看下图,如果图片看不清楚,可以访问这个链接查看:图解 V8 的方方面面

img

其他相关资料:v8 logo|V8 (JavaScript engine)) |《V8、JavaScript + 的现在与未来》| 几张图让你看懂 WebAssembly