Code Explainers
Javascript code explainers
javascript
import { useMemo, useState } from 'react'; function ProductList({ products }) { const [query, setQuery] = useState('');
Memoizing a filtered list in React
memoization
derived-state
filtering
Intermediate
8 steps
javascript
function initLazyLoad(root = document) { const images = root.querySelectorAll('img[data-src]'); if (!('IntersectionObserver' in window)) {
How lazy image loading works
lazy-loading
intersectionobserver
progressive-enhancement
Intermediate
8 steps
javascript
import { notFound } from 'next/navigation'; const PER_PAGE = 24; const SORT_OPTIONS = ['relevance', 'price-asc', 'price-desc', 'newest'];
Parsing search params in a Next.js page
input-validation
query-params
pagination
Intermediate
10 steps
javascript
import { NextResponse } from 'next/server'; import Stripe from 'stripe'; import { headers } from 'next/headers';
Handling Stripe webhooks in Next.js
webhooks
signature verification
payment processing
Intermediate
7 steps
javascript
const fs = require('fs'); const path = require('path'); router.get('/downloads/:name', (req, res, next) => {
Streaming file downloads in Express
streaming
backpressure
file-download
Advanced
9 steps
javascript
async function pollJobUntilComplete(jobId, { interval = 2000, timeout = 60000, signal } = {}) { const deadline = Date.now() + timeout; while (true) {
Polling a job until it finishes in JavaScript
polling
async-await
abortsignal
Intermediate
6 steps
javascript
class Stack { #items = []; push(value) {
Building a Stack with private fields
data-structures
encapsulation
iterators
Intermediate
7 steps
javascript
function depthFirstSearch(graph, start) { const visited = new Set(); const order = [];
Depth-first search and pathfinding in JS
graphs
recursion
depth-first-search
Intermediate
8 steps
javascript
// Sliding window maximum using a monotonic decreasing deque. // Returns an array of the maximum value within each window of size k. function maxSlidingWindow(nums, k) { const result = [];
Sliding window maximum with a deque
sliding-window
monotonic-deque
amortized-analysis
Advanced
7 steps
javascript
function debounce(fn, delay) { let timeoutId = null; function debounced(...args) {
Building a debounce function in JavaScript
closures
timers
higher-order-functions
Intermediate
6 steps
javascript
function flatten(arr) { const result = []; for (const item of arr) { if (Array.isArray(item)) {
Flattening nested arrays with recursion
recursion
arrays
reduce
Intermediate
7 steps
javascript
function getCityName(user) { return user?.address?.city ?? "Unknown city"; }
Optional chaining and nullish coalescing in JS
optional-chaining
nullish-coalescing
defensive-coding
Intermediate
5 steps
javascript
function throttle(fn, wait) { let lastCall = 0; let timeoutId = null; let lastArgs = null;
Building a leading-and-trailing throttle
closures
rate-limiting
timers
Advanced
6 steps
javascript
async function* fetchPages(baseUrl, maxPages) { let page = 1; while (page <= maxPages) { const data = await mockFetch(`${baseUrl}?page=${page}`);
Paginated APIs with async generators
async-iterators
generators
pagination
Advanced
7 steps
javascript
const PENDING = 'pending'; const FULFILLED = 'fulfilled'; const REJECTED = 'rejected';
Building a Promise from scratch
promises
state-machine
microtasks
Advanced
10 steps
javascript
function delegate(root, eventType, selector, handler) { const listener = (event) => { let node = event.target; while (node && node !== root) {
Event delegation with a clean teardown
event-delegation
dom
closures
Intermediate
8 steps