---
# System prepended metadata

title: JavaScript是如何運行的(原理)?
tags: [JavaScript - 執行環境、作用域]

---

###### tags: `JavaScript - 執行環境、作用域`

# JavaScript是如何運行的(原理)?
JavaScript是屬於直譯式語言，程式碼運行時是一行一行編譯執行，錯誤會產生在執行環境上。

使用此工具來展示直譯器轉換(編譯)過程 : https://esprima.org/demo/parse.html#

1. 語法單元化 (Tokenizing)
   ![](https://i.imgur.com/JjEO8Bs.png)

2. 抽象結構樹 (Abstract Syntax Tree，還沒執行程式碼)
   ![](https://i.imgur.com/cBWPRBA.png)

4. 代碼生成 (執行程式碼，每個執行環境會有些不同)

