DocsHub

Introduction

A complete guide to JavaScript — from the very basics to advanced concepts, written for real understanding.

JavaScript

JavaScript is the language of the web. It started as a simple scripting tool for browsers in 1995, and today it runs everywhere — browsers, servers, mobile apps, desktop apps, even embedded systems.

If you want to build anything on the web, JavaScript is non-negotiable.


What You'll Learn

This guide takes you from zero to advanced — no hand-waving, no skipping the hard parts. Every concept is explained clearly with real examples.


How JavaScript Works

Before writing a single line, it helps to understand what JavaScript actually is.

It runs in two places

In the browser — every browser has a JavaScript engine built in. Chrome uses V8, Firefox uses SpiderMonkey, Safari uses JavaScriptCore. When you open a webpage, the browser downloads the HTML, CSS, and JS — then the engine executes the JS.

On the server (Node.js) — in 2009, Node.js took V8 out of Chrome and let JavaScript run on a server. Same language, different environment.

This guide focuses on core JavaScript — concepts that work in both environments.

It is interpreted (sort of)

JavaScript is not compiled like C or Go. The engine reads your code, compiles it to bytecode just-in-time, and runs it. You don't need a build step to run basic JS — just a browser or Node.js.

It is dynamically typed

You don't declare types explicitly. A variable can hold a number, then a string, then an object. This gives you flexibility — and introduces bugs if you're not careful. You'll learn how to handle this well.

It is single-threaded

JavaScript runs one thing at a time on a single thread. But it can handle async operations (network requests, timers) without blocking — thanks to the event loop. This is one of the most important concepts in JS and we cover it in depth in the Async and Advanced sections.


A Taste of JavaScript

Here's a quick feel for the language before you dive in:

// Variables
const name = "Ali";
let age = 22;

// Function
function greet(person) {
  return `Hello, ${person}!`;
}

console.log(greet(name)); // Hello, Ali!

// Array + iteration
const scores = [85, 92, 78, 96];
const average = scores.reduce((sum, s) => sum + s, 0) / scores.length;
console.log(`Average: ${average}`); // Average: 87.75

// Async (fetching data)
async function getUser(id) {
  const res = await fetch(`https://api.example.com/users/${id}`);
  const user = await res.json();
  return user;
}

Simple, readable, powerful — that's JavaScript at its best.


Prerequisites

You don't need to know any programming to start here. All you need is:

  • A browser (you already have one)
  • A code editor — VS Code is recommended
  • Curiosity

If you already know another language, JavaScript will feel familiar in some places and surprising in others. Embrace the surprises — they're the interesting parts.


Quick Reference

ConceptWhere to find it
var vs let vs constBasics → Variables
Arrow functionsFunctions → Arrow Functions
map, filter, reduceArrays → Iteration
Promises & async/awaitAsync JavaScript
this keywordAdvanced → this
Event loopAdvanced → Event Loop
ES6 modulesES6+ → Modules

Tip: Don't just read — type every code example yourself. The muscle memory matters, and you'll catch things you'd miss by just reading.

On this page