#3 The V8 Engine

在谈论V8引擎时,我们得先了解什麽是 JavaScript 引擎。

JavaScript Engine

  • 电脑其实不知道什麽是 JavaScript
  • JavaScript Engine 的功用就是将 JS 程序码转换成电脑可以看得懂的语言

https://ithelp.ithome.com.tw/upload/images/20210903/20127352a9JPLlCldS.png

电脑的语言边城大概像这样,最底层的叫做 Machine Code (机器语言),也就是电脑使用的,看得懂的语言。只不过这个语言太难编程,所以我们会整理後使用 Assembly Language (组合语言) 试图让机器语言变得更易於读写,但Assembly Language 其实大致上还是跟 Machine Code 太过相像,因此我们又将 Assembly Language 改良成更为具体,更有逻辑的 C++,之後一路改良,於是有了 JavaScript,这个比 Machine Code 在逻辑上更加具体,且易读易写的程序语言。

Node.js 本身是透过 C++ 语言编写而成,但透过编译,它允许我们使用 JavaScript 撰写,这些撰写过的程序码可以运行 Sever 或是电脑上。

而 Node.js 使用 C++ 作为开发语言的最大原因是因为,由 Google 开发的 V8 引擎也是透过 C++ 撰写的。

上面这段文字总结下来就是:

  1. Node.js 使用 C++ 作为开发语言
  2. Node.js 的核心就是 V8 引擎
  3. V8 引擎能将我们的 JS 转换成 Machine Code

https://ithelp.ithome.com.tw/upload/images/20210903/20127352NlFxMSxk1Q.png

OK!那使用 V8 引擎是有啥屌的吗?

这样说好了,JS 一开始被设计用在浏览器端,aka 网页互动效果设计,但透过 V8 引擎,JS 能写出更多後端才有的效果,例如读写档案、连接资料库等功能。简单来说就是 V8 给了 JS 一双翅膀!!!!

这边关於 V8 引擎写的很详细,有兴趣可以参考


<<:  #2. Blurring Loading Image(原生JS版), Vercel 出乎意料好用

>>:  Day3 JavaScript 如何输出

Day22 Vue 认识Porps(1)

在之前的铁人赛中我们知道了元件的实体状态、模板等作作用范围都应该要是独立的,意味这子元件是无法修改父...

[Angular] Day5. Lifecycle hooks

在 Angular 的 Component 中有一个生命周期,当 Angular 实例化这个 Com...

学习Python纪录Day17 - 图表设计

变换图表折线图颜色样式 「y」:黄色 「--」:虚线 「^」:三角形 绘制两条线的折线图 显示图表的...

TypeScript 能手养成之旅 Day 6 物件型别-基础物件型别

前言 今天要来介绍物件型别里面的基础物件,或许会想说那除了基础物件型别以外,不是还有 TypeScr...

WordPress 点击图片放大效果-Easy FancyBox 外挂教学

当我们在部落格上写文章贴图片的时候,有些图片本身解析度就比较大,例如一张 4000 x 3000 大...