JavaScript được phân loại là ngôn ngữ thông dịch (interpreted language) – mã nguồn được đọc và thực thi trực tiếp bởi engine (trình thông dịch) mà không cần biên dịch trước (compile) thành file máy như C/C++/Java.
Đặc điểm ngôn ngữ thông dịch
- Không cần compiler riêng: Chạy trực tiếp trong trình duyệt (Chrome V8, Firefox SpiderMonkey, Safari JavaScriptCore, Edge Chakra).
- Thực thi dòng per dòng: Parser đọc, phân tích, thực thi tuần tự (dù engine hiện đại có JIT compilation).
- Linh hoạt, động: Kiểu dữ liệu xác định lúc runtime, có thể eval code string, sửa đổi object tại runtime.
- Phát triển nhanh: Chỉ cần text editor (Notepad, VS Code) và trình duyệt – không cần build step phức tạp.
Thực tế: Just-In-Time (JIT) Compilation
Engine hiện đại (V8, SpiderMonkey...) không chỉ thuần thông dịch. Chúng dùng JIT compilation:
- Parsing: Mã nguồn → Abstract Syntax Tree (AST).
- Interpreter (Ignition trong V8): Chạy bytecode ngay lập tức.
- Profiling: Theo dõi code chạy nóng (hot code).
- Optimizing Compiler (TurboFan trong V8): Biên dịch code nóng thành machine code tối ưu cao.
- Deoptimization: Nếu giả định sai (ví dụ kiểu thay đổi), quay lại interpreter.
Vì vậy, JS hiện đại = Interpreted + JIT Compiled – vừa linh hoạt vừa nhanh.
Công cụ phát triển (IDE/Editor)
Bài gốc liệt kê các công cụ cũ (FrontPage, Dreamweaver MX, HomeSite 5 – đã ngừng phát triển). Hiện nay các công cụ phổ biến:
| Loại | Công cụ |
|---|---|
| Editor nhẹ | VS Code, Sublime Text, Atom, Notepad++ |
| IDE đầy đủ | WebStorm, Visual Studio, IntelliJ IDEA |
| Browser DevTools | Chrome DevTools, Firefox Developer Tools |
| Online | CodePen, JSFiddle, StackBlitz, CodeSandbox |
Tóm tắt
- JS là ngôn ngữ thông dịch – chạy trực tiếp source code.
- Engine hiện đại dùng JIT để tối ưu hiệu năng.
- Không cần compile thủ công – write & refresh.
- Hệ sinh thái tooling hiện đại rất phong phú (VS Code, ESLint, Prettier, TypeScript, bundler...).