What is JavaScript?

Introduction to JavaScript and its world

JavaScript is a high-level, interpreted (or JIT-compiled), multi-paradigm language that is the foundational scripting language of the web. It's often misunderstood as just a language for effects, but it is a powerful engine of modern software.

Key Axioms of JavaScript

To truly understand JavaScript, you must understand these core concepts:

  1. Single-Threaded: JavaScript executes one thing at a time on the "main thread."
  2. Asynchronous by Nature: While single-threaded, it handles asynchronous tasks (like fetching data) using the Event Loop.
  3. Prototype-Based: Unlike Java/C++, JS uses prototypes for inheritance, not classic classes (the class syntax is mostly syntactical sugar).
  4. Dynamic Typing: Variables are not bound to a specific type, though TypeScript is now the industry standard to add types.

How it Runs: The Engine

JavaScript doesn't run on its own; it needs an Engine.

  • V8: Used in Chrome and Node.js.
  • SpiderMonkey: Used in Firefox.
  • JavaScriptCore: Used in Safari.

The engine parses your code, converts it to an AST (Abstract Syntax Tree), and then uses Just-In-Time (JIT) Compilation to turn it into machine code for high performance.

The Environment (Runtime)

  • Browser: Provides the DOM, fetch, and setTimeout.
  • Node.js: Provides file system access, networking, and server-side APIs.

Why Learn JavaScript?

  • Ubiquity: It's everywhere—frontend, backend, mobile, and even desktop.
  • Rich Ecosystem: With millions of packages on NPM, you rarely start from scratch.
  • Community: One of the largest and most active developer communities in the world.

Next Step: Learn how to write code in Basics of JS.