JavaScript
Also known as: javascript, ecmascript, js
A dynamically typed, multi-paradigm language created for the browser, now the most-deployed runtime on Earth — browsers, Node.js, Deno, Bun, and edge platforms.
- Primary domain
- Software Engineering & Notation
- Sub-category
- Programming Paradigms & Languages
In simple terms
JavaScript is the programming language of the web. Every web browser ships a JavaScript engine; every modern website runs JavaScript in your tab. Outside the browser it’s also the runtime for backend platforms (Node.js, Deno, Bun), serverless edge platforms (Cloudflare Workers, Vercel Functions), and a huge slice of build tooling. Despite a famously messy history, it’s now one of the fastest dynamically-typed languages in production use.
More detail
JavaScript was created by Brendan Eich at Netscape in 1995 in (legend has it) ten days. The language has since gone through:
- ES5 (2009) —
strict mode, JSON, basic array methods. - ES2015 / ES6 —
let/const, classes, modules, arrow functions, promises, template literals. The watershed modernisation. - ES2017+ —
async/await, optional chaining, nullish coalescing, BigInt, top-level await, decorators, pattern matching (proposal stage in 2026).
Core characteristics:
- Dynamically typed, single-threaded with an event loop.
- First-class functions and closures — almost everything is a function.
- Prototype-based OO —
classis sugar over prototype chains. nullandundefined— two flavours of “absent”, a common pitfall.- Type coercion —
"5" + 3 === "53"is the famous example; modern code uses===andNumber(...)to avoid surprises.
Engines and runtimes:
- V8 (Chrome, Edge, Node.js, Deno)
- JavaScriptCore / Nitro (Safari, Bun)
- SpiderMonkey (Firefox)
- All are aggressive JITs that compile hot functions to machine code.
The 2026 JavaScript ecosystem is enormous: bundlers (esbuild, Vite, Bun, Rolldown), package managers (npm, pnpm, yarn, bun), frameworks (React, Vue, Svelte, Solid, Astro), backends (Express, Fastify, Hono), testing (Vitest, Jest, Playwright), formatters (Prettier, Biome), linters (ESLint, oxlint, Biome).
TypeScript is a superset that adds static types and compiles to JavaScript. Most new JavaScript projects in 2026 are actually TypeScript projects.
Why it matters
JavaScript is the only language guaranteed to run in every web browser. That alone would make it important; the fact that it’s also fast, has a vast ecosystem, and now runs on servers and edge networks makes it the closest thing computing has to a universal language.
Real-world examples
- VS Code, Slack, Discord, Figma, Notion, Linear — all built with web technologies (JavaScript + HTML + CSS) packaged via Electron or similar.
- Node.js powers backends at LinkedIn, Netflix, Walmart, PayPal, and many more.
- Cloudflare Workers runs JavaScript in V8 isolates at the edge — millions of small functions, billions of requests per day.
Common misconceptions
- “JavaScript is slow.” Modern V8 can match Java for many workloads; JIT-compiled hot code is within 2-3× of C for numeric work.
- “JavaScript and Java are related.” They are not. The name was a marketing decision in 1995 to capitalise on Java’s hype.
- “You need a framework.” Modern browsers support enough JavaScript and DOM features that small apps work fine with vanilla JS.
Learn next
The runtime it grew up in: web browser. The static-types layer most teams now use: type system. What actually runs JavaScript: an interpreter (well, a JIT-compiling interpreter).
Read this in a learning path
All paths →This topic is part of 2 learning paths. Start in context to keep prev/next and progress tracking.
- Read this in Frontend Engineer Starter KitThe topics that take you from "I can write some JavaScript" to "I can ship a real product on the web that respects users". Start here View the whole path
- Read this in How Programming Languages WorkFrom source code to execution — how compilers, runtimes, type systems, and memory management work under the hood. Start here View the whole path
Relationships
- Requires
- Related
- Required by
Neighborhood
A visual companion to the relationships above. Click any node to visit that topic.