Guides
In-depth tutorials and guides for JavaScript developers.
Screen Wake Lock API
Use the Screen Wake Lock API to keep a device screen awake. Request a wake lock, handle release events, and manage visibility changes so your app stays active.
Getting Started with Deno
Deno: a TypeScript runtime with built-in tooling, secure permissions, npm support. Run scripts, manage deps, and build servers without extra setup.
The Gamepad API
Connect game controllers to the browser with the Gamepad API. Read button presses, axis movement, handle connect/disconnect, and add haptic feedback.
The Web Audio API
Build synthesisers, visualisers, and audio effects with the Web Audio API. AudioContext, oscillators, GainNode, analyser, and worklet fundamentals.
The Bun Runtime
Bun is an all-in-one JavaScript runtime with a built-in package manager, bundler, and test runner. Run TypeScript natively and serve HTTP with zero config.
Getting Started with esbuild
Bundle JavaScript with esbuild for speed. Use the CLI, the Node.js API, and watch mode to build projects faster than webpack or Rollup alone.
Getting Started with Vite
Set up a fast JavaScript project with Vite. Configure the build tool, use the dev server with hot module replacement, and build for production.
Intersection Observer Patterns
Practical patterns for using the Intersection Observer API — lazy loading, scroll animations, infinite scroll, and sticky section tracking.
Module Federation in JavaScript
Share code between JavaScript applications at runtime. Module Federation lets you load remote modules dynamically without duplicating dependencies.
Building a Progressive Web App
Turn your web app into a Progressive Web App. Add a manifest, register a Service Worker, and enable installability, offline support, and push notifications.
WebGL Basics
Learn the fundamentals of WebGL — the JavaScript API for rendering 2D and 3D graphics in the browser using the GPU.
The Canvas API
Learn how to draw 2D graphics in the browser with the HTML Canvas API, from basic shapes to pixel manipulation.
WebRTC Fundamentals
Learn how to build real-time peer-to-peer connections in the browser with WebRTC. Covers RTCPeerConnection, ICE, signaling, and data channels.
The Temporal API for Dates and Times
A practical guide to JavaScript's Temporal API: immutable date/time types, clear timezone handling, and arithmetic that actually works.
Error Handling Patterns and Custom Errors
Learn to build custom error classes, handle sync and async errors, propagate failures with cause chains, and avoid common mistakes.
The Iterator and Iterable Protocols
Learn JavaScript's iterable and iterator protocols — the conventions that power for...of, spread, Array.from, and custom iteration.
Node.js Production Best Practices
Production Node.js practices: PM2 management, graceful shutdown, structured logging, security, health checks, and clustering for scaling.
CSS Typed OM from JavaScript
Work with CSS values as typed JS objects instead of strings, covering attributeStyleMap, computedStyleMap, CSSUnitValue, CSSMathValue, and CSSTransformValue.
The JavaScript Performance API
Measure code execution timing, create performance marks and measures, and observe performance metrics in the browser with the W3C Performance API.
AbortController Patterns in JavaScript
Learn how to cancel fetch requests, custom async operations, and combine multiple abort signals with AbortController and AbortSignal.
IndexedDB: Client-Side Databases
Learn how to use IndexedDB to store structured data in the browser, including object stores, transactions, indexes, and cursors.
The Intl API: Formatting and Localization
Learn how to use JavaScript's built-in Intl API to format dates, numbers, and text for different locales. Complete guide with practical examples.
Service Workers and Offline Caching
Learn how to use Service Workers to cache resources, enable offline functionality, and implement different caching strategies for your web application.
JavaScript structuredClone and Deep Copying
Learn how to deep copy objects in JavaScript with structuredClone — the built-in API that handles Date, Map, Set, BigInt, and more.
Web Workers: Off the Main Thread
Learn how to use Web Workers to run JavaScript in background threads, keeping your UI responsive during heavy computations.
Writing Declaration Files
Learn how to create TypeScript declaration files (.d.ts) to add type safety to JavaScript projects, extend existing types, and publish type definitions
Project References and Monorepos
Learn how to scale TypeScript projects with project references and monorepo architectures. Covers incremental builds and enterprise patterns.
Async Iterators and for-await-of
Learn how async iterators work in JavaScript — iterate over async data sources using for-await-of and handle streams of data asynchronously
Promises in Depth
Master JavaScript Promises — understand the microtask queue, promise states, chaining patterns, and common pitfalls with practical examples
WebSockets: Persistent Connections
Learn how WebSockets enable bidirectional, real-time communication between client and server — with practical examples for building interactive applications
File System Access API
The File System Access API lets web apps read and write files on the user's device. Covers file pickers, handles, streams, directory access, and OPFS.
Import Maps and Dependency Management
Learn how to use import maps to resolve bare module specifiers in the browser without a bundler, and how to manage multiple dependency versions.
The Payment Request API
The Payment Request API provides a browser-native checkout flow. Create a PaymentRequest, show a payment sheet, handle the response, and fall back gracefully.
SharedArrayBuffer and Atomics
Learn how SharedArrayBuffer and Atomics enable true multi-threaded coordination in JavaScript, with patterns for locks, counters, and producer-consumer queues.
The Streams API
Learn how JavaScript's Streams API lets you process data chunk-by-chunk. Covers ReadableStream, WritableStream, TransformStream, pipe chains and backpressure.
Shadow DOM and Web Components
Learn how Shadow DOM encapsulates structure and styles in web components, covering attachShadow, slots, and custom elements.
The Web Animations API
Learn to animate DOM elements with WAAPI — the browser's native animation engine covering animate(), keyframes, playback control, and performance.
JavaScript Closures Explained
Understand closures in JavaScript — how they work, why they matter, and practical use cases with code examples for data privacy and function factories
Destructuring in JavaScript
Learn JavaScript destructuring — extract values from objects and arrays. Covers default values, renaming, rest pattern, and practical examples.
Understanding the JavaScript Event Loop
Learn how JavaScript handles asynchronous operations through the event loop, call stack, task queue, and microtask queue.
Generators and Iterators in JavaScript
Learn how generators work in JavaScript - functions that can pause and resume execution, producing sequences of values on demand.
JavaScript Memory Management: A Practical Guide
Learn how memory works in JavaScript, detect memory leaks, and write memory-efficient code using WeakRef, FinalizationRegistry, and profiling tools.
ES Modules in JavaScript
Learn how to use ES Modules to organize your JavaScript code with import and export statements.
Prototypes and Prototype Chain
Learn how JavaScript prototypes work, including prototype chain, Object.create(), and inheritance patterns.
Proxy and Reflect in JavaScript
Master JavaScript Proxy for metaprogramming. Learn handler traps, Reflect API, and practical patterns like validation, lazy properties, and observability.
Regular Expressions in JavaScript
Master regular expressions in JavaScript — learn regex syntax, flags, methods, and practical patterns for text manipulation and validation
Symbols in JavaScript
Learn JavaScript Symbols — primitive values for unique property keys, well-known symbols, and the global registry. Intermediate guide with practical examples.
Tagged Template Literals
Learn how tagged template literals work in JavaScript, how to create custom tag functions, and real-world use cases for processing template strings
WeakMap and WeakSet in JavaScript
Learn how WeakMap and WeakSet work in JavaScript — collections that allow garbage collection of their keys and values for memory-efficient storage