Tech is political: The people under attack in Palestine 🇵🇸, Iran 🇮🇷, and Lebanon 🇱🇧 are people like us. They’re our brothers and sisters, too. Read up on their history, scrutinize what you’re told, and demand respect and accountability. Hide

Frontend Dogma

“javascript” News Archive

Definition, related topics, and tag feed

Definition · Supertopics: ecmascript, programming-languages · Subtopics: ajax, animations, callbacks, closures, commonjs, console, css-in-js, cypress, dom, esm, frameworks, hacks, import-maps, javascript-engines, jest, jsdoc, json, libraries, scope, source-maps, web-workers (non-exhaustive) · “javascript” × ? · “javascript” RSS feed (per email)

Entry (Sources) and Additional TopicsDate#
Introducing secure-eval-worker (mco/pla)2287
introductions, nodejs, libraries, permissions, security
What I’ve Learned as a Frontend Developer After 3+ Years2286
career, lessons, css, state-management, performance, accessibility, communication, tech-stacks
How to Implement a Distributed Circuit Breaker2285
how-tos, software-design-patterns
Email, Decoupled From Where and How: A Cross-Runtime, Cross-Provider Email Library for JavaScript and TypeScript (hon)2284
email, tooling, typescript
Half Past Fetch2283
data-fetching, asynchrony
Fuzzing the State Machines Inside My HTTP Client2282
testing
How Turbopack Chunks Your JavaScript2281
turbopack
Fixing Top-Level Await in Safari (hei/web)2280
safari, browsers, asynchrony, webkit, browser-engines
Bumping the Major Version of Your JavaScript Library Is User Hostile (jam)2279
libraries, semver, versioning
A Deep Dive Into StyleX (fla)2278
deep-dives, tooling, css
The Depths of JavaScript: Minesweeper in 247 Bytes2277
minimalism, functionality
Enhanced Spell Checking on the Web (bka)2276
apis, html
Music Theory for Programmers (luk)2275
Why I Ported Moonshine to JavaScript (pet)2274
migrating
Your Modules Are Lying to You2273
esm, commonjs, modules
Building an Accordion the Browser Can Search2272
accordions, hiding, search, html, css
How Baseline Can Help You Ship Less JavaScript (jad/sma)2271
dependencies, browsers, support, web-platform
Working With “::highlight()” Using Progressive Enhancement (sun/pic)2270
css, apis, progressive-enhancement
Progressive Enhancement Inside of JavaScript (rem)2269
progressive-enhancement
We Finally Learned to Center a Div, Then Browsers Added Sidebars2268
css, centering, browsers
Your JSON Is Lying to You2267
json, console
A11y 101—3.3.4 Error Prevention (nat)2266
introductions, accessibility, wcag, errors, html
Same Name; Different Component With Scoped Custom Element Registries (fro)2265
web-components, browsers
Building the ChatGPT Typing Effect (jsd)2264
chatgpt, effects
When It Makes Sense to “Block” the Main Thread (sma)2263
performance
Protecting HTML Content Against Copying (jsd)2262
html, css, canvas, obfuscation, techniques, comparisons
I Stopped Destructuring Everything2261
HTML in Canvas: Render Real DOM Inside “<canvas>”2260
html, canvas
Fetch Needs Error Codes (jas)2259
data-fetching, errors
The Browser’s Main Thread Is Expensive2258
performance, optimization, worker-threads
Proxy and Reflect (wil/pic)2257
objects
Time-Based Background Colour Transitions With Temporal and CSS Color-Mix (sop)2256
apis, time, css
Do We Still Need Build Tools? (oll)2255
css, building, tooling
A Deep Dive Into the Inner Workings of JavaScript Engines: Writing Code That Makes V8 Happy2254
deep-dives, javascript-engines, v8, garbage-collection
The Shifting Line Between CSS States and JavaScript Events (dxn/css)2253
css, state-management, selectors, events
Animating the “dialog” Element Using View Transitions (rik)2252
modals, html, animations, view-transitions, css
The Siren Song of “ariaNotify()” (wil/css)2251
aria, notifications, attributes, html, jaws, nvda, voiceover, screen-readers, accessibility
Frontend Minimalism in Action: Do More With Less JavaScript (sir/web)2250
videos, minimalism, dependencies, standards
Dark Mode With Web Standards (oll)2249
dark-mode, standards, html, svg, css
The Quiet Problem With Unnecessary Async2248
asynchrony
Streaming HTML (oll)2247
html, streaming
Astro: HTML First, JavaScript When You Need It (jad)2246
astro, html
Gary Illyes: The Web’s JavaScript Mess Is an AI Agent Nightmare (ppc)2245
ai, ai-agents, html, rag, llmstxt
Everything You Need to Know About Sourcemaps (nec)2244
source-maps
CSS vs. JavaScript (jos)2243
css, animations, comparisons
JS Crossword (reb)2242
Accessible by Design: HTML, CSS, JavaScript, and ARIA Techniques That Scale2241
videos, accessibility, html, css, aria
Saying Goodbye to asm.js (eqr/spi)2240
spidermonkey, javascript-engines, firefox, browsers
Intentionally Blocking Rendering With JavaScript (jay)2239
rendering, painting, web-components
TypeScript, C#, and Turbo Pascal With Anders Hejlsberg (ahe/ger)2238
videos, interviews, programming, typescript, microsoft
Zoomable Image—Creating a Zoom Effect (bar)2237
zooming, images, effects, hugo, css
Soon We Can Finally Banish JavaScript to the ShadowRealm (wil/css)2236
ecmascript, apis
I Keep Tripping Over “true, false, true”2235
CSS Math “random()” in Production: Native Randomness Without JavaScript2234
css, math, functions, randomness, performance, accessibility
The “<selectmenu>” Element: Stop Using JavaScript Dropdown Libraries2233
html, forms, css
Out With the JS, in With the HTML (jim)2232
html, refactoring
Your Recursion Is Lying to You2231
software-design-patterns
A Compiler Engineer’s Walkthrough of JavaScript Spread Arguments (hac)2230
compiling
Trustworthy JavaScript for the Open Web (moz)2229
security, open-web, firefox, browsers
Devtools: How to Query Through the Shadow DOM (rem)2228
how-tos, shadow-dom, dev-tools, browsers
Preserving DOM Changes Across Live Reloads (kit)2227
dom, eleventy
Canvas-ing the Web (mey)2226
canvas
replacements.fyi (430/e18)2225
websites, dependencies, refactoring, migrating, maintenance
Constructable Stylesheets and “adoptedStyleSheets”: One Parse, Every Shadow Root (fro)2224
web-components, lit, css, apis, shadow-dom
Visual Validation Feedback for Form Fields (aar)2223
html, forms, validation
The Web Is Fun Again: First Experiments With HTML in Canvas (ami/fro)2222
experiments, html, canvas
What’s Actually New in JavaScript (and What’s Coming Next) (nec)2221
ecmascript, standards, retrospectives, outlooks
Why I Don’t Chain Everything in JavaScript Anymore2220
Making Dark Mode Play Nicely With BFCache2219
dark-mode, bfcache
Creating Custom Page Transitions in Astro With Barba.js and GSAP (cod)2218
astro, gsap, tooling, animations
You Can’t Cancel a JavaScript Promise (Except Sometimes You Can) (inn)2217
promises
RFC JSIR: A High-Level IR for JavaScript2216
tooling
“Intl” Can Localize Units, Too (ste)2215
localization, units
What to Know in JavaScript (2026 Edition) (chr/fro)2214
ecmascript, standards, frameworks, runtimes, tooling, testing, npm
Burnout Is Real for Open Source Maintainers: A Conversation With John-David Dalton, Creator of Lodash (jdd/ope)2213
podcasts, interviews, libraries, lodash, foss, maintenance
Your Options for Preloading Images With JavaScript (mac)2212
images, preloading, techniques
Your Debounce Is Lying to You2211
software-design-patterns, debouncing
Building a Runtime With QuickJS (hea)2210
quickjs, runtimes, functionality
Shadow DOM Focus Delegation: Getting “delegatesFocus” Right (fro)2209
accessibility, shadow-dom, focus, lit, web-components
Uses for Nested Promises2208
promises, asynchrony
JavaScript for Everyone: Destructuring (wil/css)2207
examples
How to Burn $30M on a JavaScript Framework… (fir)2206
videos, frameworks, famous
JavaScript Thinks Everything’s a Date2205
time, v8, javascriptcore, python
The Three Pillars of JavaScript Bloat (430)2204
dependencies, complexity, runtimes, architecture, polyfills
Form-Associated Custom Elements in Practice (fro)2203
web-components, forms
Temporal: The 9-Year Journey to Fix Time in JavaScript (jas)2202
time, apis, retrospectives
Building Dynamic Forms in React and Next.js (sma)2201
forms, react, nextjs
Source Maps: Shipping Features Through Standards (jon)2200
source-maps
Testing Browser Support for “focusgroup”2199
html, attributes, focus
You Don’t Know HTML Tables2198
html, tables
Date Math in JavaScript: The Hidden Trap You’ll Eventually Hit (phi/hac)2197
time, math, apis
Seven Years to TypeScript: Migrating 11,000 Files at Patreon2196
migrating, typescript, case-studies
Proxying Fetch Requests in Server-Side JavaScript (nza)2195
data-fetching, nodejs, deno, bun, cloudflare
Popover API or Dialog API: Which to Choose? (zel/css)2194
pop-overs, modals, apis, accessibility
External Import Maps, Today (lea)2193
import-maps
Getting Started With the Popover API (sma)2192
introductions, pop-overs, tooltips, apis
January 2026 Baseline Monthly Digest (mal)2191
browsers, support, web-platform, css, view-transitions, web-workers, apis, units
JavaScript DRMs Are Stupid and Useless2190
drm
We Deserve a Better Streams API for JavaScript (jas)2189
streaming, apis
A Complete Guide to Bookmarklets (val/css)2188
guides, bookmarklets, link-lists
16 Modern JavaScript Features That Might Blow Your Mind2187
Rewriting a 12-Year-Old JavaScript Library in TypeScript2186
refactoring, typescript
Goodbye “innerHTML”, Hello “setHTML”: Stronger XSS Protection in Firefox 148 (moz)2185
methods, xss, security, firefox, browsers
From “instanceof” to “Error.isError”: Safer Error Checking in JavaScript2184
errors
Dictionary Compression Is Finally Here, and It’s Ridiculously Good (pim/htt)2183
compression, performance
Wasm vs. JavaScript: Who Wins at a Million Rows?2182
webassembly, comparisons, performance
We Cut Node.js’ Memory in Half (mco/pla)2181
nodejs, v8, memory, metrics
5 Source Map Best Practices for Frontend Production Deployments (ele/des)2180
guest-posts, source-maps, best-practices
JS-Heavy Approaches Are Not Compatible With Long-Term Performance Goals (ser)2179
frameworks, performance, prioritization
Quick and Dirty Linting (sto)2178
linting, typescript, biome
It’s About to Get a Lot Easier for Your JavaScript to Clean Up After Itself (wil/pic)2177
garbage-collection
Building an Endless Procedural Snake With Three.js and WebGL (suj/cod)2176
threejs, webgl
Vite, Rust, and the Future of JavaScript Tooling (eva+/bet)2175
videos, interviews, vuejs, rust, oxc, bundling, tooling, ai
Why JavaScript Needs Structured Concurrency2174
concurrency, asynchrony
Stop Installing Libraries: 10 Browser APIs That Already Solve Your Problems2173
libraries, apis, web-platform
A Percise Parser (rem)2172
parsing
State of JavaScript 2025 [Results] (sac/dev)2171
surveys, metrics
Explicit Resource Management in JavaScript2170
View Transitions and Playing Video (chr/fro)2169
view-transitions, multimedia
StyleX vs. Tailwind: Meta’s Take on CSS-in-JS Maintainability2168
tailwind, comparisons, css-in-js, maintainability, css
The Unhinged World of Tech in 2026… (fir)2167
videos, outlooks, ai
So You Think Your Website Is Doing Great (cit)2166
html, css, quality
Stop Turning Everything Into Arrays (and Do Less Work Instead)2165
methods, arrays
Aspire for JavaScript Developers (dav)2164
tooling, typescript
How Wrong Can a JavaScript Date Calculation Go? (phi)2163
time, apis
Beyond the Mouse: Animating With Mobile Accelerometers (ami/fro)2162
mobile, animations
Web Dependencies Are Broken—Can We Fix Them? (lea)2161
dependencies, import-maps, web-platform
Date Is Out, Temporal Is In (wil/pic)2160
time
2025 JavaScript Rising Stars2159
frameworks, libraries, react, vuejs, tooling, ai, mobile, desktop, state-management, css-in-js, testing, static-site-generation, graphql, retrospectives
The Nine Levels of JavaScript Dependency Hell (and)2158
dependencies, maintainability
Streaming JSON in Just 200 Lines of JavaScript2157
streaming, json
JavaScript Frameworks—Heading Into 2026 (rya/thi)2156
frameworks, outlooks, ai
How to Create a Pixel-to-Voxel Video Drop Effect With Three.js and Rapier (cod)2155
how-tos, effects, tooling, gsap, threejs
We Fixed a 6-Year-Old JavaScript Memory Leak (mat/deb)2154
memory
TIL: Why ARM Has a JavaScript Instruction2153
Building a JavaScript Runtime in One Month (the)2152
runtimes, functionality
JavaScript’s “for…of” Loops Are Actually Fast2151
loops, performance
The Curious Case of the Shallow Session SPAs (sli/per)2150
performance, single-page-apps, frameworks, metrics
Why Developers Are Ditching Frameworks for Vanilla JavaScript2149
frameworks, apis, performance, micro-frontends, architecture
How to Dynamically Install Custom Elements (hey)2148
how-tos, web-components, naming
The Fall of JavaScript (yeg)2147
typescript, programming
Trends That Defined JavaScript in 20252146
trends, retrospectives, react, frameworks, tooling, ai
Why Object of Arrays (SoA Pattern) Beat Interleaved Arrays: A JavaScript Performance Rabbit Hole2145
performance, arrays
Targeting by Reference in the Shadow DOM (mey)2144
shadow-dom, html
Dialog View Transitions (med)2143
modals, view-transitions
Different Page Transitions for Different Circumstances (chr/fro)2142
css, view-transitions, animations
The JavaScript Bundler Grand Prix (kat/red)2141
bundling, tooling, vite, rspack, turbopack, bun, rolldown, browserify, webpack, rollup, parcel, esbuild, history
I Ported JustHTML From Python to JavaScript With Codex CLI and GPT-5.2 in 4.5 Hours (sim)2140
migrating, ai, python, tooling, parsing, html
Why We Teach Our Students Progressive Enhancement (cyd)2139
progressive-enhancement, html, css, training
Using the Browser Console for Accessibility Testing (rus)2138
accessibility, testing, console, examples
Discover Dialog (sar/mat)2137
html, modals, css
Design Accessible Animation and Movement With Code Examples (pop)2136
design, accessibility, animations, css, examples
Non-Blocking Cross-Browser Image Rendering on the Canvas (mys/per)2135
canvas, images, performance
What Are DOM Mutations? (rus)2134
accessibility, dom
In 1995, a Netscape Employee Wrote a Hack in 10 Days That Now Runs the Internet (ben/ars)2133
netscape, history
The Nuances of JavaScript Typing Using JSDoc (jar/van)2132
jsdoc, typescript, developer-experience
How Modern Browsers Work (add)2131
browsers, chromium, network, parsing, painting, rendering, javascript-engines, v8, memory, modules, html, css
Category Theory for JavaScript/TypeScript Developers (ibr)2130
typescript, programming, craft
How Microfrontends Work: 3 Integration Strategies2129
micro-frontends, strategies, routing, iframes, ai
CSS-in-JS: The Great Betrayal of Frontend Sanity2128
css-in-js, css, performance, developer-experience
What Are Invokers? Interactivity Without JavaScript (tol/syn)2127
videos, html, pop-overs
You’re Doing JavaScript Testing Wrong (cfe)2126
testing
The Performance Inequality Gap, 2026 (sli)2125
performance, metrics
Managing Side Effects: A JavaScript Effect System in 30 Lines or Less (ayc)2124
The Last Couple Years in V8’s Garbage Collector (win)2123
v8, javascript-engines, garbage-collection, memory, retrospectives
How We Catch UI Bugs Early With Visual Regression Testing2122
testing, regressions, playwright
Error Chaining in JavaScript: Cleaner Debugging With “Error.cause”2121
errors, debugging
JavaScript Just Leveled Up: ES2025—You’ll Fall in Love With (jsd)2120
ecmascript, standards
Advanced Beginner’s Guide to ClojureScript (rom)2119
guides
The Web Animation Performance Tier List (cit)2118
animations, performance, css, apis
The Inner Workings of JavaScript Source Maps (man/pol)2117
typescript, source-maps
Start Implementing View Transitions on Your Websites Today (cyd/pic)2116
css, view-transitions, apis
Import JavaScript Like It’s 2026 (sto)2115
performance
The JavaScript Feature You’ve Probably Never Used Allows Running Untrusted JavaScript Safely2114
JavaScript for Everyone: Iterators (wil/sma)2113
The Origin Story of JavaScript (ann/cas)2112
videos, history, web, ecmascript, browsers, browser-wars, browser-engines, standards
Directives and the Platform Boundary (tan/tan)2111
frameworks
NaN, the Not-a-Number Number That Isn’t NaN (wil/pic)2110
Importing vs. Fetching JSON (jaf)2109
json, data-fetching, comparisons
The Charm of JavaScript: Boom Mics and Clown Shoes (wil+/iga)2108
podcasts, interviews
An Introduction to JavaScript Expressions (wil/css)2107
introductions
Links and Anchors: Ancient HTML and JS Magic in Your Browser (cod/wea)2106
html, css, links
“URLPattern” Is Now Baseline Newly Available2105
urls, apis, web-platform, browsers, support
Rethinking Async Loops in JavaScript2104
loops, asynchrony
Why “NaN !== NaN” in JavaScript (and the IEEE 754 Story Behind It)2103
history, standards
You’re a Real JavaScript Developer Only If…2102
career
Improving the Trustworthiness of JavaScript on the Web2101
web-apps, security
What’s Up in ES2027? (por/nor)2100
videos, ecmascript, outlooks
For Your Convenience, This CSS Will Self-Destruct (sco)2099
css, hiding
Secure Coding in JavaScript2098
frameworks, security
Writing an Emulator in JavaScript? (nik/nor)2097
videos
Tips for Working With Emoji (chr)2096
emoji, css, tips-and-tricks
The Future of Lodash (uli)2095
libraries, lodash, outlooks
Find Where a Specific Object Was Allocated in JavaScript With DevTools2094
objects, dev-tools, browsers
Inside a 16.67 Millisecond Frame2093
rendering, reflow, painting, performance
How to Group Arrays in JavaScript Without “reduce()”2092
how-tos, arrays
Smashing Animations: Building Adaptive SVGs With “<symbol>”, “<use>”, and CSS Media Queries (mal/sma)2091
animations, svg, css
A Progressive Enhancement Challenge (chr/fro)2090
progressive-enhancement, html, feature-detection, support
I Want to Intercept Boolean Coercion for Objects in JavaScript (zac)2089
objects, types
You Can Now Make PS2 Games in JavaScript2088
Why “typeof null === object”2087
operators
State of JavaScript 2025 (sac/dev)2086
surveys
Creating a Truly Accessible Flip Card (sib/tpg)2085
html, css, accessibility
Stop Using “.reverse().find()”: Meet “findLast()”2084
methods, arrays
How to Disable Right Click With JavaScript (rik)2083
how-tos
Storing Unwise Amounts of Data in JavaScript Bigints (jon)2082
Frontend JavaScript Performance Testing: A Comprehensive Guide (get)2081
guides, performance, testing
Fetch Streams Are Great, but Not for Measuring Upload/Download Progress (jaf)2080
data-fetching, apis
The Missing Link in JavaScript Tools (mar)2079
tooling
Just Use HTML (cfe)2078
html
Web Development for Beginners: Frontend Frameworks (rau)2077
frameworks, preact
Finally, Safe Array Methods in JavaScript2076
arrays, methods
Functional Custom Elements the Easy Way (gin/pic)2075
web-components
Why You Should Test Your Page Without JavaScript2074
support, progressive-enhancement, accessibility
Learning Web Development: Asynchronous JavaScript—Promises and “async” Functions (rau)2073
asynchrony, promises, functions
We Used AI to Compare and Demo 6 JavaScript Charting Libraries (kyl+/web)2072
videos, libraries, visualization, comparisons, ai
Why Do Browsers Throttle JavaScript Timers? (nol)2071
time, browsers
Learning Web Development: JSON and Processing Files in Node.js (rau)2070
json, nodejs, arrays, objects
9 JavaScript Patterns I Wish I Used Earlier2069
software-design-patterns
Learning Web Development: JavaScript Maps (rau)2068
Learning Web Development: JavaScript Exceptions (rau)2067
errors
JavaScript’s Trademark Problem (rau)2066
oracle, legal, deno
You No Longer Need JavaScript (reb)2065
css, html, examples
Learning Web Development: Plain Objects in JavaScript (rau)2064
objects
Learning Web Development: Modules and Testing in JavaScript (rau)2063
modules, testing
Hack to the Future—Frontend (the)2062
history, html, css, design, layout, flash, image-replacement, libraries, frameworks, hacks, xhtml, tooling, testing, outlooks
JavaScript Engines Explained—Comparing V8, SpiderMonkey, JavaScriptCore, and More (ele/des)2061
guest-posts, javascript-engines, v8, spidermonkey, javascriptcore, quickjs, chakracore
JavaScript Engines Zoo2060
javascript-engines, overviews, comparisons, v8, spidermonkey, quickjs, javascriptcore, chakracore
Understanding “Promise.any()”: When One Success Is Enough2059
promises, asynchrony
Learning Web Development: Loops in JavaScript (rau)2058
loops
Unit Formatting With “Intl” in JavaScript (ray)2057
units, localization
What’s Next for JavaScript? (jsd)2056
outlooks
Learning Web Development: Arrays in JavaScript (rau)2055
arrays
Learning Web Development: Strings and Methods in JavaScript (rau)2054
strings, methods
Learning Web Development: Numbers, Variables, Functions in JavaScript (rau)2053
variables, functions
Eliminating JavaScript Cold Starts on AWS Lambda (goo)2052
lambda, aws, runtimes
JavaScript Is Tough to Master2051
learning
Speeding Up the JavaScript Ecosystem—SemVer (mar)2050
performance, semver, versioning, dependencies
A Progressive Complexity Manifesto (che)2049
manifestos, complexity, web-apps, html, htmx, web-components, frameworks, principles
The Power of the “Intl” API: A Definitive Guide to Browser-Native Internationalization (fuq/sma)2048
guides, apis, internationalization
Using the Custom Highlight API (chr/fro)2047
apis, css, syntax-highlighting
Building Extensible Frontend Systems (cfe)2046
web-components, extensibility, css
How JavaScript Really Evolves: Inside TC39 With Daniel Ehrenberg (lit+/wee)2045
videos, interviews, ecmascript
How We Made “JSON.stringify” More Than Twice as Fast2044
json, strings, v8, javascript-engines, optimization, performance
Our Fight With Oracle Is Getting Crazy… (den)2043
videos, oracle, legal, licensing
JavaScript Isn’t the Problem—Replacing the Browser Was (p4p/red)2042
single-page-apps, browsers
What Your Website’s Style Says About You—and How Hackers Can Use It Against You (err)2041
security, css
HTML-First, Framework-Second: Is JavaScript Finally Growing Up?2040
html, frameworks
Logical Assignment Operators in JavaScript: Small Syntax, Big Wins2039
operators
The Many, Many, Many JavaScript Runtimes of the Last Decade (shi)2038
runtimes, history
Vanilla JavaScript Support for Tailwind Plus (phi+/tai)2037
tailwind
Never Write Your Own Date Parsing Library (zac)2036
libraries, comparisons, time, parsing
The Untold Story of JavaScript2035
videos, history
Web Serial: The Only Reason I’ll Admit JavaScript Isn’t All Bad2034
A Primer on Focus Trapping (zel/css)2033
introductions, focus, keyboard-navigation, accessibility
Handling JavaScript Event Listeners With Parameters (sma)2032
events
Compile Svelte 5 in Your Head2031
svelte, compiling
Revisiting My 2010 JavaScript Library (dia)2030
retrospectives, libraries, internet-explorer, browsers
Writing “!= null”? That’s What Junior Devs Do—Here’s the Senior Way2029
The Untold Story of JavaScript (den)2028
videos, history
Modern Async Iteration in JavaScript With “Array.fromAsync()”2027
arrays, asynchrony
Managing the State of Your Promises (ato)2026
state-management, promises
Bulletproof Web Component Loading (cfe)2025
web-components
These 5 Programming Languages Are Quietly Taking Over in 20252024
programming, rust, python, go
JavaScript Scope Hoisting Is Broken (dev)2023
scope, code-splitting
30 Years of JavaScript: 10 Milestones That Changed the Web2022
anniversaries, history, ecmascript, ajax, jquery, web-2.0, nodejs, npm, react, typescript, webassembly
JavaScript Is Being Rewritten in Rust (ost/end)2021
rust
I Started Learning JavaScript Again—a Beginner-Friendly Guide to the Basics2020
guides, fundamentals
A Simple Website2019
websites, history, layout, animations, images, tables, ajax, flash, deploying, simplicity
How JSDoc Saved My Dev Workflow (ato)2018
jsdoc, typescript, documentation
Default Parameters: Your Code Just Got Smarter2017
What’s the Difference Between Ordinary Functions and Arrow Functions in JavaScript? (jrs)2016
functions, comparisons
JavaScript Trademark Update (tin/den)2015
legal, oracle
What’s Coming to JavaScript (lca/den)2014
deno
Ecma International Approves ECMAScript 2025: What’s New? (rau)2013
ecmascript
Speculative Optimizations for WebAssembly Using Deopts and Inlining (lie)2012
v8, javascript-engines, webassembly, optimization, speculation
Tips for Making Regular Expressions Easier to Use in JavaScript (rau)2011
regex, tips-and-tricks, examples
Decoding the SVG “path” Element: Curve and Arc Commands (sma)2010
svg, css
Deep Dive Into JavaScript Engine Internals: V8, SpiderMonkey, and Chakra2009
deep-dives, javascript-engines, v8, spidermonkey, chakracore
JavaScript Broke the Web (and Called It Progress) (jon)2008
performance, user-experience, tooling, tech-stacks, history
9 New JavaScript Features in ES2025 (w3c/syn)2007
videos, ecmascript
When Can I Use Temporal?2006
apis, time
JSON Module Scripts Are Now Baseline Newly Available (tom)2005
json, browsers, support, web-platform
Slightly Enhanced Sticky Revealing Footer (cri)2004
navigation, css
Compiling JavaScript Ahead of Time (goo/web)2003
videos, javascript-engines, compiling
JavaScript String “slice()” Considered Harmful (att)2002
strings
CJS vs. AMD vs. UMD vs. ESM: Which JavaScript Module Format Should You Use—and Why It Even Matters2001
nodejs, modules, commonjs, esm, bundling, comparisons
Using “await” at the Top Level in ES Modules2000
esm, asynchrony
Happy Birthday, JavaScript (ato)1999
anniversaries
Quick Tip: Avoid Event Listeners on the “window” Object (nat)1998
jquery, events, accessibility, tips-and-tricks
Exploring JavaScript (rau)1997
books
How JavaScript Was Written Back in the Day (tre)1996
jquery, history, comparisons
Worker Threads in Node.js: A Complete Guide for Multithreading in JavaScript (nod)1995
guides, nodejs, worker-threads, multithreading
How to Use the Browser Console: An In-Depth Guide (mat/deb)1994
guides, how-tos, dev-tools, console, browsers
5 Best JavaScript Web Scraping Libraries in 2025 (api)1993
libraries, scraping, link-lists
Creating the “Moving Highlight” Navigation Bar With JavaScript and CSS (sma)1992
navigation, effects, css
How to “import()” a JavaScript String (zac)1991
how-tos, strings
“firstChild” Can Be White Space (chr/fro)1990
whitespace
How Imports Work in RSC (dan)1989
react, components, modules
I Copy These 10 Code Snippets Into Every Project1988
debouncing, json, objects, arrays
“document.currentScript” Is More Useful Than I Thought (mac)1987
Is It JavaScript? (jim)1986
browsers, servers, jsx, typescript, terminology
Write More Reliable JavaScript With Optional Chaining1985
reliability
A JavaScript Developer’s Guide to Go (psu)1984
guides, go, examples
Web Bluetooth API Usage—a Practical Guide1983
guides, apis
The 3 Ways JavaScript Frameworks Render the DOM (rya)1982
videos, frameworks, dom, rendering
Why Are 2025/05/28 and 2025-05-28 Different Days in JavaScript?1981
time
A Thought on JavaScript “Proof of Work” Anti-Scraper Systems (cks)1980
ai, scraping
Comparing Rust, JavaScript, and Go for Authoring WASM Components1979
webassembly, components, rust, go, comparisons
JavaScript’s Upcoming Temporal API and What Problems It Will Solve1978
time, apis
Multithreading in JavaScript With Web Workers (hon)1977
multithreading, web-workers, examples
A Brief History of JavaScript (den)1976
history, ecmascript, typescript, json, javascript-engines, runtimes, browsers
You Can Style Alt Text Like Any Other Text (geo/css)1975
alt-text, accessibility, images, css
Make Screen Readers Talk With the ARIA Notify API (ale)1974
accessibility, screen-readers, aria, notifications, apis
Authenticating JavaScript WebSockets1973
websockets, authentication
Introduction to JavaScript Frameworks (rya)1972
introductions, videos, frameworks, react, angular, vuejs, svelte, solidjs
How JavaScript’s “at()” Method Makes Array Indexing Easier1971
arrays
JavaScript in the Morning, JavaScript in the Evening… (ray)1970
localization
The State of JavaScript Debugging in WebAssembly1969
webassembly, debugging
No Server, No Database: Smarter Related Posts in Astro With transformers.js (ale)1968
astro, ai, hugging-face
Handling Routes in JavaScript Projects (sea)1967
routing, frameworks
Styling Console Text in Node.js (rau)1966
nodejs, console
I Think the Ergonomics of Generators Is Growing on Me (mac)1965
functions
JavaScript Compile Hints: What They Are and When to Use Them (tre)1964
compiling, v8, javascript-engines
Building the Bridge: Running JavaScript Modules From Dart1963
modules, esm, commonjs, dart, deno
Migrating a JavaScript Project From Prettier and ESLint to BiomeJS (app)1962
migrating, prettier, eslint, biome
The Power of the Spread and Rest Syntax in JavaScript1961
arrays
Event Handling in JAWS and NVDA (sib/tpg)1960
accessibility, screen-readers, jaws, nvda, events, comparisons
JavaScript, When Is This? (wil/pic)1959
Giving V8 a Heads-Up: Faster JavaScript Startup With Explicit Compile Hints1958
v8, javascript-engines, compiling
Converting Values to Strings in JavaScript (rau)1957
conversion
Giving Software Away for Free (sim)1956
foss, hosting, html
Why Care About the No-JS Experience? (cfe)1955
support
Making a Small JavaScript Blog Static Site Generator Even Smaller Using the General “async-tree” Library (jan)1954
static-site-generation, tooling
JavaScript Framework Reality Check: What’s Actually Working1953
frameworks, qwik, solidjs, sveltekit, fresh
Creating CSS Theme Variables From a JS File (mic)1952
css, theming, custom-properties, conversion
Why I’m Not Ready to Abandon JavaScript for “Faster” Languages1951
rust, go, refactoring, performance
Contextual Logging With “console.context()” (pat)1950
console, dev-tools, browsers
When to Use “map()” vs. “forEach()”1949
arrays, comparisons
Optimizing Node.js Performance: V8 Memory Management and GC Tuning (mco/pla)1948
nodejs, performance, optimization, v8, javascript-engines, memory, garbage-collection
Float16Array in JavaScript (tre)1947
arrays
Next Level CSS Styling for Cursors (val/css)1946
css, cursors
A Flowing WebGL Gradient, Deconstructed1945
webgl, gradients, math
Mastering Default Values in JavaScript With the Nullish Coalescing (“??”) Operator1944
operators
Exploring TypeScript: TS 5.8 Edition (rau)1943
books, typescript
Some Features That Every JavaScript Developer Should Know in 20251942
arrays, promises, prototypes, variables
Hiding Elements That Require JavaScript Without JavaScript (0xd)1941
css, html
Debugging JavaScript Memory Leaks (jar/bun)1940
memory, debugging, dev-tools, chrome, browsers, bun
A Decade of Impact: How Our npm Packages Hit 1 Billion Downloads and Shaped JavaScript1939
npm, dependencies, history
React 19’s New Hooks: With Practical Examples (let)1938
react, hooks, examples
On JavaScript’s Weirdness1937
Deno vs. Oracle Update 3: Fighting the JavaScript Trademark (tin/den)1936
deno, oracle, legal, history
Breaking Down Circular Dependencies in JavaScript1935
dependencies
Automated Visual Regression Testing With Playwright (css)1934
regressions, testing, automation, playwright
Could JavaScript Have Synchronous “await”? (rau)1933
asynchrony
JavaScript’s Missing Link: Wasp Offers Full Stack Solution1932
wasp, frameworks, history
Land Ahoy: Leaving the Sea of Nodes1931
v8, javascript-engines, compiling
War Story: The Hardest Bug I Ever Debugged (jak)1930
debugging, v8, chrome, browsers, bugs
UI Algorithms: A Tiny Undo Stack (jul)1929
algorithms, functionality, undo-redo
JavaScript Basics for a Senior Dev1928
fundamentals, concepts, examples
Previewing Content Changes in Your Work With “document.designMode” (sma)1927
browsers, dev-tools, content, design
Stop Chasing New JavaScript Frameworks: Build With Fundamentals Instead1926
fundamentals, frameworks, react, vuejs, angular, svelte, solidjs
How WebAssembly Components Can Replace JavaScript SDKs (sac)1925
webassembly, components
SSR Deep Dive for React Developers (ade)1924
deep-dives, server-side-rendering, react
Why the Latest JavaScript Frameworks Are a Waste of Time1923
frameworks, react, angular
“Intl.DurationFormat”: Format Time Durations With Locale Support (tre)1922
localization
A Perplexing JavaScript Parsing Puzzle (hil)1921
parsing, history
On JavaScript Closures (With Examples of Interview Questions) (mar)1920
guest-posts, closures, variables, examples, interviewing
Ten Years Ago Today I Coined the Shorthand “js;dr” for “JavaScript Required; Didn’t Read” (tan)1919
support, terminology
JavaScript Best Practice: Use “return await”1918
asynchrony, best-practices
The Professional Standing of Frontend Developers (mar)1917
guest-posts, career, learning, html, css, communication, collaboration, community, ai
JavaScript (htt)1916
web-almanac, studies, research, metrics, performance, bundling, transpiling, web-workers, libraries, web-components
7 Best Practices of File Upload With JavaScript and React1915
file-handling, react, best-practices
Image Comparison Slider in 6 Lines of JavaScript1914
sliders, images
JavaScript Fatigue Strikes Back (all)1913
react, frameworks, libraries, tooling
How to Reduce Web Application Bundle Size? (ant)1912
how-tos, web-apps, bundling, tooling
What Is TypeScript? An Overview for JavaScript Programmers (rau)1911
overviews, typescript, comparisons
Justified Text, JS “moveBefore” Method, Performance Optimization (zor/css)1910
videos, css, typography, performance, optimization
Turbocharging V8 With Mutable Heap Numbers1909
v8, javascript-engines, performance, randomness
Subverting Control With Weak References (jlo)1908
programming
Solved by Style Observer: “Element.matchContainer()” (bra)1907
css
Speeding Up the JavaScript Ecosystem—Rust and JavaScript Plugins (mar)1906
performance, rust, plugins
Clean Code in JavaScript: A Comprehensive Guide1905
guides, principles, conventions, variables, objects, functions, comments, testing, quality
Introduction to Frontend Development1904
introductions, html, css, frameworks, libraries, tooling, career, trends
TC39 Advances 3 Proposals to Stage 4: RegExp Escaping, Float16Array, and Redeclarable Global Eval Vars (sar/soc)1903
standards, ecmascript, regex, escaping, arrays, math
20 Years of AJAX: The Technology That Revolutionized Web Development1902
ajax, history, data-fetching
How to Move the First Element to the End in JavaScript1901
how-tos
Create Contextual Console Loggers (pat/dev)1900
console, debugging, dev-tools, browsers, edge, chrome
Style Observer: JS to Observe CSS Property Changes, for Reals (lea)1899
tooling, libraries, css
Testing 10 JavaScript Frameworks on Their HTML Defaults (j9t)1898
frameworks, html, conformance, comparisons, link-lists
Think JavaScript Is Slow? Here’s How JIT (Just in Time) Compilation Makes It 100× Faster Instantly1897
compiling, performance
The First Ever Website That Literally Glows in the Dark1896
videos, effects, apis, css
View Transitions Applied: More Performant “::view-transition-group(*)” Animations (bra)1895
css, view-transitions, performance
Move on to ESM-Only (ant)1894
esm, modules, nodejs, support, typescript
Using “at()” Method in JavaScript to Get the Last Item From an Array (ama)1893
arrays
Oracle Justified Its JavaScript Trademark With Node.js—Now It Wants That Ignored (tin/den)1892
oracle, nodejs, deno, legal
Fast and Smooth Third-Party Web Fonts (sco)1891
fonts, embed-code, performance, css
Introducing the JSR Open Governance Board (tin+/den)1890
introductions, jsr, typescript, community
There Are a Lot of Ways to Break Up Long Tasks in JavaScript (mac)1889
web-workers, performance
Vite With TypeScript (rwi)1888
vite, migrating, typescript, configuration
Is npm Enough? Why Startups Are Coming After This JavaScript Package Registry (kat/red)1887
npm, jsr, bun, pnpm, yarn
How to Set WebGL Shader Colors With CSS and JavaScript (nma)1886
how-tos, webgl, css
Page Bloat Update: How Does Ever-Increasing Page Size Affect Your Business and Your Users? (tam/spe)1885
performance, trends, metrics, images, desktop, mobile
What Text Area Popovers Taught Me About Browser APIs (bla)1884
html, forms, apis
How Long Is a Second in JavaScript? (iag)1883
The Modern Way to Write JavaScript Servers (mar)1882
nodejs, servers
You’re Overthinking Web Components (all)1881
web-components
JavaScript Temporal Is Coming (bsm/mdn)1880
apis, time
Exploring AI, Web Development, and Accessibility in Tech With Stefan Judis (ste+/wea)1879
videos, interviewing, ai, runtimes, accessibility, screen-readers, craft
My Website Has Been Gaslighting You (dav)1878
css, colors, effects
Simplify Lazy Loading With Intersection Observer’s “scrollMargin” (fro)1877
scrolling, apis, lazy-loading, performance
Generating Test Values Using JavaScript Generators1876
typescript, functions, testing
Google Begins Requiring JavaScript for Google Search (kyl)1875
google
SolidJS Creator on Confronting Web Framework Complexity1874
frameworks, angular, vuejs, multi-page-apps, single-page-apps, complexity, outlooks
JavaScript’s “Promise.race” and “Promise.all” Are Not “Fair” (chr)1873
promises
Making “this” Less Annoying (dav)1872
formatting, configuration
Using SVGs on Canvas With Compose Multiplatform (eev)1871
canvas, svg, images
What Is a Callback Function? (cfe)1870
callbacks, functions
JavaScript Hashing Speed Comparison: MD5 Versus SHA-256 (lem)1869
hashing, performance, comparisons, bun, nodejs
All JavaScript Keyboard Shortcut Libraries Are Broken1868
libraries, keyboard-shortcuts
Oracle Refuses to Yield JavaScript Trademark, Deno Land Says (inf)1867
oracle, deno, legal
Sharing a Variable Across HTML, CSS, and JavaScript (chr/fro)1866
variables, html, css
Exploring Modern JavaScript Compilers: Why Oxc Matters for the Developer Community (hac)1865
oxc, compiling, tooling
5 Technical JavaScript Trends You Need to Know About in 20251864
trends, architecture, serverless, webassembly, state-management, typescript, type-safety, micro-frontends
Progressive Enhancement Brings Everyone In (jay)1863
progressive-enhancement, history, advocacy, link-lists
Reckoning: Frontend’s Lost Decade (sli/per)1862
videos, performance, web-platform
Top PHP Alternative for Web Development?1861
php, java, python, ruby, go, rust
2024 JavaScript Rising Stars1860
frameworks, libraries, react, vuejs, tooling, mobile, desktop, state-management, ai, css-in-js, testing, graphql, retrospectives
JavaScript Frameworks—Heading Into 2025 (rya/thi)1859
frameworks, performance, complexity, maintainability
Relatively New Things You Should Know About HTML Heading Into 2025 (chr/fro)1858
html, forms, toggles, pop-overs, import-maps, css, transitions
The Difference Between HTML Attributes and Properties (pau/clo)1857
html, attributes, terminology
What’s Actually Happening With JS Frameworks1856
videos, frameworks, trends
Refactoring a Web Performance Snippet for Security and Best Practice (the)1855
performance, metrics, refactoring
View Transitions Snippets: Getting All Animations Linked to a View Transition (bra)1854
css, view-transitions, apis
Breaking Up With Long Tasks or: How I Learned to Group Loops and Wield the Yield (rvi/per)1853
performance, loops
A Gentle Introduction to Using a Vector Database1852
introductions, databases, vector-databases, ai, openai
Shallow Clones Versus Structured Clones (phi)1851
After Rome Failure, VoidZero Is the Newest Attempt to Create Unified JavaScript Toolchain (inf)1850
voidzero, tooling
JavaScript Benchmarking Is a Mess1849
performance
Broadcast Channel API (5t3)1848
apis
Important Topics for Frontend Developers to Master in 20251847
learning, typescript, css, frameworks, git, apis, testing, performance, security, ci-cd, websockets
“AsyncLocalStorage”: Simplify Context Management in Node.js (tre)1846
nodejs, asynchrony
JS Import Maps (5t3)1845
dependencies, import-maps
How to Create Multi-Step Forms With Vanilla JavaScript and CSS (css)1844
how-tos, forms, css
State of JavaScript 2024 [Results] (sac/dev)1843
surveys, metrics
WebAssembly JavaScript Interface (w3c)1842
standards, webassembly, apis
11 Essential JavaScript Hooking Techniques for Reverse Engineering in 2024 (xiu)1841
debugging, techniques
Your JavaScript Bundle Is Too Fat1840
bundling, performance, dependencies, code-splitting, lazy-loading, tree-shaking, minification, optimization
5 Technical Trends to Help Web Developers Stand Out in 20251839
trends, career, security, ai, low-and-no-code
Native HTML Light and Dark Color Scheme Switching (pep/mat)1838
dark-mode, html, css, functionality
Understanding the Main Thread in the Browser (per)1837
browsers, dom
Publishing a Simple Client-Side JavaScript Package to npm With GitHub Actions (sim)1836
dependencies, npm, github-actions
Just Say “No” to JavaScript (nic/inf)1835
typescript, programming
Creating an Effective Multistep Form for Better User Experience (sma)1834
forms, html, user-experience
Let’s Learn Generators in JavaScript1833
functions
Observation: CSS Math Eval (kiz)1832
css, math
The 5 Most Transformative JavaScript Features From ES15 (tar)1831
ecmascript
Contributing to JavaScript and TypeScript (rob)1830
videos, typescript, foss, standards
Building Better CLI Apps (mol)1829
videos, typescript, command-line, tooling
Deno vs. Oracle: Canceling the JavaScript Trademark (tin/den)1828
deno, oracle, legal
JavaScript Events Made Easy: A Comprehensive Guide for Beginners1827
guides, events
Mastering JavaScript Event Delegation1826
events
Exploring Alternative Interactions in JavaScript (dev)1825
videos, ai, interaction-design
Mastering Accessible Modals With ARIA and Keyboard Navigation (a11)1824
accessibility, keyboard-navigation, aria, modals
State of JavaScript 2024 (sac/dev)1823
surveys
Importing a Frontend JavaScript Library Without a Build System (b0r)1822
libraries, commonjs, esm, nodejs, html
The Art of Clean Code: A Practical Guide to Writing Maintainable JavaScript1821
guides, principles, maintainability
Exploring JavaScript Symbols (tre)1820
Self-Contained Executable Programs With Deno Compile (tin/den)1819
deno, typescript, compiling
Understanding Bitwise Shifts in JavaScript: “<<” and “>>” (tre)1818
operators
JavaScript Import Attributes (ES2025) (tre)1817
security
Why Does JavaScript’s “parseInt(0.0000005)” Print “5”?1816
How a BBC Navigation Bar Component Broke Depending on Which External Monitor It Was On (jos)1815
debugging, case-studies
The Path to Learn Web Development (fla)1814
learning, http, html, css, tooling, git, typescript, databases, frameworks
Mapping Over Promises in JavaScript (pmb)1813
promises
Should Web Designers Learn JavaScript or CSS? (ope)1812
design, career, css
Celebrating Innovation and Impact: JavaScriptLandia Community Awards (ope)1811
community
Maybe It Isn’t JavaScript (gee)1810
videos, seo, google
How Bun Supports V8 APIs Without Using V8 II (bun)1809
bun, v8, apis
How Do HTML Event Handlers Work? (tbr)1808
html, events
How to Test JavaScript for Accessibility Compliance (flo/a11)1807
how-tos, accessibility, compliance, wcag, testing
JavaScript’s “&&=” Operator: Understanding Logical “AND” Assignment (tre)1806
operators
JavaScript’s “??=” Operator: Default Values Made Simple (tre)1805
operators
Introducing the vlt Package Manager and Serverless Registry (dar+/vlt)1804
introductions, dependencies, serverless, tooling
JavaScript Do’s and Don’ts (mua)1803
accessibility
How to Roll Your Own Auth in JavaScript and TypeScript (rwi)1802
how-tos, authentication, typescript
What Is the JavaScript Pipeline Operator “|>” (tre)1801
operators
Octoverse: AI Leads Python to Top Language as the Number of Global Developers Surges1800
research, github, community, ai, programming, python, typescript, java, php, shells, go
JavaScript Best Practices (jet)1799
best-practices
20 JavaScript Tricks Every Developer Must Know1798
tips-and-tricks
JavaScript Truthy and Falsy: A Deep Dive (tre)1797
deep-dives
How We Shrunk Our JavaScript Monorepo Git Size by 94%1796
monorepos, git
Front End Debugging: Not Just Console Log (deb)1795
debugging, console, dom
Passing Data to New Window Using JavaScript1794
comparisons
Should JavaScript Be Split Into Two Languages? New Google-Driven Proposal Divides Opinion1793
ecmascript, google, runtimes
Set the Default Time Zone in Node.js (ste)1792
nodejs, internationalization, localization, time
Why I’m Skeptical of Rewriting JavaScript Tools in “Faster” Languages (nol)1791
tooling, programming
Platform Strategy and Its Discontents (sli)1790
web-platform, mobile, mobile-first, native, performance, user-experience
How to Build an Image Search Application With OpenAI CLIP and PostgreSQL in JavaScript1789
how-tos, images, search, ai, openai, postgresql, databases, functionality
How to Convert CommonJS to ESM (den)1788
how-tos, conversion, commonjs, esm