V8 JavaScript 引擎

V8 是 Google Chrome 引擎的名稱。它是負責執行我們的 JavaScript 的東西,當我們使用 Chrome 瀏覽時。

V8 是 JavaScript 引擎,即解析並執行 JavaScript 代碼。DOM 和其他 Web 平台 API(它們組成運行時環境)由瀏覽器提供。

很酷的是,JavaScript 引擎獨立於它所托管的瀏覽器。這一關鍵特性使 Node.js 的崛起成為可能。V8 在 2009 年被選為 Node.js 的引擎,隨著 Node.js 的流行,V8 成為現在驅動大量用 JavaScript 編寫的服務器端代碼的引擎。

Node.js 生態系統龐大,得益於 V8 引擎,它也為桌面應用程序提供動力,例如 Electron 項目。

其他 JS 引擎

其他瀏覽器有自己的 JavaScript 引擎

  • Firefox 使用 SpiderMonkey
  • Safari 使用 JavaScriptCore(也稱為 Nitro)
  • Edge 最初基於 Chakra,但最近消耗 Chromium 重建,並使用 V8 引擎。

還有許多其他引擎存在。

所有這些引擎實現了 ECMA ES-262 標準,也稱為 ECMAScript,這是 JavaScript 使用的標準。

性能追求

V8 是用 C++ 編寫的,並且不斷改進。它是可移植的,在 Mac、Windows、Linux 和其他幾個系統上運行。

在這個 V8 簡介中,我們將忽略 V8 的實現細節:這些細節可以在更權威的網站上找到(例如 V8 官方網站),而且它們會隨時間不斷變化,有時會發生根本性的變化。

V8 始終在不斷發展,就像其他 JavaScript 引擎一樣,以加速 Web 和 Node.js 生態系統的發展。

在網絡上,已經有多年的性能競爭,我們(作為用戶和開發人員)從這場競爭中受益良多,因為我們每年都會得到更快、更優化的機器。

編譯

JavaScript 通常被認為是一種解釋語言,但現代 JavaScript 引擎不僅僅是解釋 JavaScript,它們會將其編譯。

自 2009 年以來,當 SpiderMonkey JavaScript 編譯器被添加到 Firefox 3.5 時,這種情況已經發生,而所有人都遵循了這個想法。

JavaScript 在 V8 內部進行編譯,採用即時(JIT)編譯以加快執行速度。

這可能看起來有些反直覺,但自從2004年Google Maps推出以來,JavaScript已經從一種通常執行幾十行程式碼的語言,演變成在瀏覽器中運行數千至數十萬行程式碼的完整應用程式。

我們的應用程式現在可以在瀏覽器中運行數小時,而不僅僅是幾個表單驗證規則或簡單的腳本。

在這個新世界中,編譯JavaScript是完全合理的,因為雖然可能需要更多時間來準備JavaScript,但一旦完成,它的性能將比純解釋代碼好得多。

閱讀時間
閱讀時間:3 分鐘
貢獻
編輯此頁面
目錄
  1. 其他 JS 引擎
  2. 性能追求
  3. 編譯