編譯語言 及 直譯語言

編譯語言:在開發者寫完後會預先進行編譯的動作
直譯語言:即將執行才會透過直譯器,直接動態進行編譯後執行產生的機器碼,無法獨立執行,依賴能編譯並產生結果的環境
JavaScript是直譯語言,用的就是JavaScript引擎,Chrome的JS引擎為
V8
notion image
  1. 解析器將原始碼拆成最小片段轉成特定格式,這個關係集合叫做抽象語法樹AST
  1. 直譯器將語法樹轉成機器碼
  1. 機器碼執行產生相關數據,拿去優化編譯器編譯,若優化結果與條件不符,則將此次優化結果拔除,再次執行