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 that they be respected. 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” RSS feed (per email)

Entry (Sources) and Additional TopicsDate#
Building the ChatGPT Typing Effect (jsd)2191
chatgpt, effects
When It Makes Sense to “Block” the Main Thread (sma)2190
performance
Protecting HTML Content Against Copying (jsd)2189
html, css, canvas, obfuscation, techniques, comparisons
I Stopped Destructuring Everything2188
HTML in Canvas: Render Real DOM Inside “<canvas>”2187
html, canvas
Fetch Needs Error Codes (jas)2186
data-fetching, errors
Proxy and Reflect (wil/pic)2185
objects
Time-Based Background Colour Transitions With Temporal and CSS Color-Mix (sop)2184
apis, time, css
Do We Still Need Build Tools? (oll)2183
css, building, tooling
The Shifting Line Between CSS States and JavaScript Events (dxn/css)2182
css, state-management, selectors, events
Animating the “dialog” Element Using View Transitions (rik)2181
modals, html, animations, view-transitions, css
The Siren Song of “ariaNotify()” (wil/css)2180
aria, notifications, attributes, html, jaws, nvda, voiceover, screen-readers, accessibility
Frontend Minimalism in Action: Do More With Less JavaScript (sir/web)2179
videos, minimalism, dependencies, standards
Dark Mode With Web Standards (oll)2178
dark-mode, standards, html, svg, css
The Quiet Problem With Unnecessary Async2177
asynchronicity
Streaming HTML (oll)2176
html, streaming
Astro: HTML First, JavaScript When You Need It (jad)2175
astro, html
Gary Illyes: The Web’s JavaScript Mess Is an AI Agent Nightmare (ppc)2174
ai, ai-agents, html, rag, llmstxt
Everything You Need to Know About Sourcemaps (nec)2173
source-maps
CSS vs. JavaScript (jos)2172
css, animations, comparisons
JS Crossword (reb)2171
Accessible by Design: HTML, CSS, JavaScript, and ARIA Techniques That Scale2170
videos, accessibility, html, css, aria
Saying Goodbye to asm.js (eqr/spi)2169
spidermonkey, javascript-engines, firefox, mozilla, browsers
Intentionally Blocking Rendering With JavaScript (jay)2168
rendering, painting, web-components
TypeScript, C#, and Turbo Pascal With Anders Hejlsberg (ahe/ger)2167
videos, interviews, programming, typescript, microsoft
Zoomable Image—Creating a Zoom Effect (bar)2166
zooming, images, effects, hugo, css
Soon We Can Finally Banish JavaScript to the ShadowRealm (wil/css)2165
ecmascript, apis
I Keep Tripping Over “true, false, true”2164
CSS Math “random()” in Production: Native Randomness Without JavaScript2163
css, math, functions, randomness, performance, accessibility
The “<selectmenu>” Element: Stop Using JavaScript Dropdown Libraries2162
html, forms, css
Out With the JS, in With the HTML (jim)2161
html, refactoring
Your Recursion Is Lying to You2160
software-design-patterns
A Compiler Engineer’s Walkthrough of JavaScript Spread Arguments (hac)2159
compiling
Trustworthy JavaScript for the Open Web (moz)2158
security, open-web, firefox, mozilla, browsers
Devtools: How to Query Through the Shadow DOM (rem)2157
how-tos, shadow-dom, dev-tools, browsers
Preserving DOM Changes Across Live Reloads (kit)2156
dom, eleventy
Canvas-ing the Web (mey)2155
canvas
replacements.fyi (430/e18)2154
websites, dependencies, refactoring, migrating, maintenance
Constructable Stylesheets and “adoptedStyleSheets”: One Parse, Every Shadow Root (fro)2153
web-components, lit, css, apis, shadow-dom
Visual Validation Feedback for Form Fields (aar)2152
html, forms, validation
The Web Is Fun Again: First Experiments With HTML in Canvas (ami/fro)2151
experiments, html, canvas
What’s Actually New in JavaScript (and What’s Coming Next) (nec)2150
ecmascript, standards, retrospectives, outlooks
Why I Don’t Chain Everything in JavaScript Anymore2149
Making Dark Mode Play Nicely With BFCache2148
dark-mode, bfcache
Creating Custom Page Transitions in Astro With Barba.js and GSAP (cod)2147
astro, gsap, tooling, animations
You Can’t Cancel a JavaScript Promise (Except Sometimes You Can) (inn)2146
promises
RFC JSIR: A High-Level IR for JavaScript2145
tooling
“Intl” Can Localize Units, Too (ste)2144
localization, units
What to Know in JavaScript (2026 Edition) (chr/fro)2143
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)2142
podcasts, interviews, libraries, lodash, foss, maintenance
Your Options for Preloading Images With JavaScript (mac)2141
images, preloading, techniques
Your Debounce Is Lying to You2140
software-design-patterns, debouncing
Building a Runtime With QuickJS (hea)2139
quickjs, runtimes, functionality
Shadow DOM Focus Delegation: Getting “delegatesFocus” Right (fro)2138
accessibility, shadow-dom, focus, lit, web-components
Uses for Nested Promises2137
promises, asynchronicity
JavaScript for Everyone: Destructuring (wil/css)2136
examples
How to Burn $30M on a JavaScript Framework… (fir)2135
videos, frameworks, famous
JavaScript Thinks Everything’s a Date2134
time, v8, javascriptcore, python
The Three Pillars of JavaScript Bloat (430)2133
dependencies, complexity, runtimes, architecture, polyfills
Form-Associated Custom Elements in Practice (fro)2132
web-components, forms
Temporal: The 9-Year Journey to Fix Time in JavaScript (jas)2131
time, apis, retrospectives
Building Dynamic Forms in React and Next.js (sma)2130
forms, react, nextjs
Source Maps: Shipping Features Through Standards (jon)2129
source-maps
Testing Browser Support for “focusgroup” (ada)2128
html, attributes, focus
You Don’t Know HTML Tables2127
html, tables
Date Math in JavaScript: The Hidden Trap You’ll Eventually Hit (phi/hac)2126
time, math, apis
Seven Years to TypeScript: Migrating 11,000 Files at Patreon2125
migrating, typescript, case-studies
Proxying Fetch Requests in Server-Side JavaScript (nza)2124
data-fetching, nodejs, deno, bun, cloudflare
Popover API or Dialog API: Which to Choose? (zel/css)2123
pop-overs, modals, apis, accessibility
External Import Maps, Today (lea)2122
import-maps
Getting Started With the Popover API (sma)2121
introductions, pop-overs, tooltips, apis
January 2026 Baseline Monthly Digest (mal)2120
browsers, support, web-platform, css, view-transitions, web-workers, apis, units
JavaScript DRMs Are Stupid and Useless2119
drm
We Deserve a Better Streams API for JavaScript (jas)2118
streaming, apis
A Complete Guide to Bookmarklets (val/css)2117
guides, bookmarklets, link-lists
16 Modern JavaScript Features That Might Blow Your Mind2116
Goodbye “innerHTML”, Hello “setHTML”: Stronger XSS Protection in Firefox 148 (moz)2115
methods, xss, security, firefox, mozilla, browsers
Rewriting a 12-Year-Old JavaScript Library in TypeScript2114
refactoring, typescript
From “instanceof” to “Error.isError”: Safer Error Checking in JavaScript2113
errors
Dictionary Compression Is Finally Here, and It’s Ridiculously Good (pim/htt)2112
compression, performance
Wasm vs. JavaScript: Who Wins at a Million Rows?2111
webassembly, comparisons, performance
We Cut Node.js’ Memory in Half (mco/pla)2110
nodejs, v8, memory, metrics
5 Source Map Best Practices for Frontend Production Deployments (ele/des)2109
guest-posts, source-maps, best-practices
JS-Heavy Approaches Are Not Compatible With Long-Term Performance Goals (ser)2108
frameworks, performance, prioritization
Quick and Dirty Linting (sto)2107
linting, typescript, biome
It’s About to Get a Lot Easier for Your JavaScript to Clean Up After Itself (wil/pic)2106
garbage-collection
Building an Endless Procedural Snake With Three.js and WebGL (suj/cod)2105
threejs, webgl
Vite, Rust, and the Future of JavaScript Tooling (eva+/bet)2104
videos, interviews, vuejs, rust, oxc, bundling, tooling, ai
Why JavaScript Needs Structured Concurrency2103
concurrency, asynchronicity
Stop Installing Libraries: 10 Browser APIs That Already Solve Your Problems2102
libraries, apis, web-platform
A Percise Parser (rem)2101
parsing
State of JavaScript 2025 [Results] (sac/dev)2100
surveys, metrics
Explicit Resource Management in JavaScript2099
View Transitions and Playing Video (chr/fro)2098
view-transitions, multimedia
StyleX vs. Tailwind: Meta’s Take on CSS-in-JS Maintainability2097
tailwind, comparisons, css-in-js, maintainability, css
The Unhinged World of Tech in 2026… (fir)2096
videos, outlooks, ai
So You Think Your Website Is Doing Great (cit)2095
html, css, quality
Stop Turning Everything Into Arrays (and Do Less Work Instead)2094
methods, arrays
Aspire for JavaScript Developers (dav)2093
tooling, typescript
How Wrong Can a JavaScript Date Calculation Go? (phi)2092
time, apis
Beyond the Mouse: Animating With Mobile Accelerometers (ami/fro)2091
mobile, animations
Web Dependencies Are Broken—Can We Fix Them? (lea)2090
dependencies, import-maps, web-platform
Date Is Out, Temporal Is In (wil/pic)2089
time
2025 JavaScript Rising Stars2088
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)2087
dependencies, maintainability
Streaming JSON in Just 200 Lines of JavaScript2086
streaming, json
JavaScript Frameworks—Heading Into 2026 (rya/thi)2085
frameworks, outlooks, ai
How to Create a Pixel-to-Voxel Video Drop Effect With Three.js and Rapier (cod)2084
how-tos, effects, tooling, gsap, threejs
We Fixed a 6-Year-Old JavaScript Memory Leak (mat/deb)2083
memory
TIL: Why ARM Has a JavaScript Instruction2082
Building a JavaScript Runtime in One Month (the)2081
runtimes, functionality
JavaScript’s “for…of” Loops Are Actually Fast2080
loops, performance
The Curious Case of the Shallow Session SPAs (sli/per)2079
performance, single-page-apps, frameworks, metrics
Why Developers Are Ditching Frameworks for Vanilla JavaScript2078
frameworks, apis, performance, micro-frontends, architecture
How to Dynamically Install Custom Elements (hey)2077
how-tos, web-components, naming
The Fall of JavaScript (yeg)2076
typescript, programming
Trends That Defined JavaScript in 20252075
trends, retrospectives, react, frameworks, tooling, ai
Why Object of Arrays (SoA Pattern) Beat Interleaved Arrays: A JavaScript Performance Rabbit Hole2074
performance, arrays
Targeting by Reference in the Shadow DOM (mey)2073
shadow-dom, html
Dialog View Transitions (med)2072
modals, view-transitions
Different Page Transitions for Different Circumstances (chr/fro)2071
css, view-transitions, animations
The JavaScript Bundler Grand Prix (kat/red)2070
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)2069
migrating, ai, python, tooling, parsing, html
Why We Teach Our Students Progressive Enhancement (cyd)2068
progressive-enhancement, html, css, training
Using the Browser Console for Accessibility Testing (rus)2067
accessibility, testing, console, examples
Discover Dialog (sar/mat)2066
html, modals, css
Design Accessible Animation and Movement With Code Examples (pop)2065
design, accessibility, animations, css, examples
Non-Blocking Cross-Browser Image Rendering on the Canvas (mys/per)2064
canvas, images, performance
What Are DOM Mutations? (rus)2063
accessibility, dom
In 1995, a Netscape Employee Wrote a Hack in 10 Days That Now Runs the Internet (ben/ars)2062
netscape, history
The Nuances of JavaScript Typing Using JSDoc (jar/van)2061
jsdoc, typescript, developer-experience
How Modern Browsers Work (add)2060
browsers, chromium, network, parsing, painting, rendering, javascript-engines, v8, memory, modules, html, css
Category Theory for JavaScript/TypeScript Developers (ibr)2059
typescript, programming, craft
How Microfrontends Work: 3 Integration Strategies2058
micro-frontends, strategies, routing, iframes, ai
CSS-in-JS: The Great Betrayal of Frontend Sanity2057
css-in-js, css, performance, developer-experience
What Are Invokers? Interactivity Without JavaScript (tol/syn)2056
videos, html, pop-overs
You’re Doing JavaScript Testing Wrong (cfe)2055
testing
The Performance Inequality Gap, 2026 (sli)2054
performance, metrics
Managing Side Effects: A JavaScript Effect System in 30 Lines or Less (ayc)2053
The Last Couple Years in V8’s Garbage Collector (win)2052
v8, javascript-engines, garbage-collection, memory, retrospectives
How We Catch UI Bugs Early With Visual Regression Testing2051
testing, regressions, playwright
Error Chaining in JavaScript: Cleaner Debugging With “Error.cause”2050
errors, debugging
JavaScript Just Leveled Up: ES2025—You’ll Fall in Love With (jsd)2049
ecmascript, standards
Advanced Beginner’s Guide to ClojureScript (rom)2048
guides
The Web Animation Performance Tier List (cit)2047
animations, performance, css, apis
The Inner Workings of JavaScript Source Maps (man/pol)2046
typescript, source-maps
Start Implementing View Transitions on Your Websites Today (cyd/pic)2045
css, view-transitions, apis
Import JavaScript Like It’s 2026 (sto)2044
performance
The JavaScript Feature You’ve Probably Never Used Allows Running Untrusted JavaScript Safely2043
JavaScript for Everyone: Iterators (wil/sma)2042
The Origin Story of JavaScript (ann/cas)2041
videos, history, web, ecmascript, browsers, browser-wars, browser-engines, standards
Directives and the Platform Boundary (tan/tan)2040
frameworks
NaN, the Not-a-Number Number That Isn’t NaN (wil/pic)2039
Importing vs. Fetching JSON (jaf)2038
json, data-fetching, comparisons
The Charm of JavaScript: Boom Mics and Clown Shoes (wil+/iga)2037
podcasts, interviews
An Introduction to JavaScript Expressions (wil/css)2036
introductions
Links and Anchors: Ancient HTML and JS Magic in Your Browser (cod/wea)2035
html, css, links
Rethinking Async Loops in JavaScript2034
loops, asynchronicity
“URLPattern” Is Now Baseline Newly Available2033
urls, apis, web-platform, browsers, support
Why “NaN !== NaN” in JavaScript (and the IEEE 754 Story Behind It)2032
history, standards
You’re a Real JavaScript Developer Only If…2031
career
Improving the Trustworthiness of JavaScript on the Web2030
web-apps, security
What’s Up in ES2027? (por/nor)2029
videos, ecmascript, outlooks
For Your Convenience, This CSS Will Self-Destruct (sco)2028
css, hiding
Secure Coding in JavaScript2027
frameworks, security
Writing an Emulator in JavaScript? (nik/nor)2026
videos
Tips for Working With Emoji (chr)2025
emoji, css, tips-and-tricks
The Future of Lodash (uli)2024
libraries, lodash, outlooks
Find Where a Specific Object Was Allocated in JavaScript With DevTools2023
objects, dev-tools, browsers
Inside a 16.67 Millisecond Frame2022
rendering, reflow, painting, performance
How to Group Arrays in JavaScript Without “reduce()”2021
how-tos, arrays
Smashing Animations: Building Adaptive SVGs With “<symbol>”, “<use>”, and CSS Media Queries (mal/sma)2020
animations, svg, css
A Progressive Enhancement Challenge (chr/fro)2019
progressive-enhancement, html, feature-detection, support
I Want to Intercept Boolean Coercion for Objects in JavaScript (zac)2018
objects, types
You Can Now Make PS2 Games in JavaScript2017
Why “typeof null === object”2016
operators
State of JavaScript 2025 (sac/dev)2015
surveys
Creating a Truly Accessible Flip Card (sib/tpg)2014
html, css, accessibility
Stop Using “.reverse().find()”: Meet “findLast()”2013
methods, arrays
How to Disable Right Click With JavaScript (rik)2012
how-tos
Storing Unwise Amounts of Data in JavaScript Bigints (jon)2011
Frontend JavaScript Performance Testing: A Comprehensive Guide (get)2010
guides, performance, testing
Fetch Streams Are Great, but Not for Measuring Upload/Download Progress (jaf)2009
data-fetching, apis
The Missing Link in JavaScript Tools (mar)2008
tooling
Just Use HTML (cfe)2007
html
Web Development for Beginners: Frontend Frameworks (rau)2006
frameworks, preact
Finally, Safe Array Methods in JavaScript2005
arrays, methods
Functional Custom Elements the Easy Way (gin/pic)2004
web-components
Why You Should Test Your Page Without JavaScript2003
support, progressive-enhancement, accessibility
Learning Web Development: Asynchronous JavaScript—Promises and “async” Functions (rau)2002
asynchronicity, promises, functions
We Used AI to Compare and Demo 6 JavaScript Charting Libraries (kyl+/web)2001
videos, libraries, visualization, comparisons, ai
Why Do Browsers Throttle JavaScript Timers? (nol)2000
time, browsers
Learning Web Development: JSON and Processing Files in Node.js (rau)1999
json, nodejs, arrays, objects
Learning Web Development: JavaScript Maps (rau)1998
9 JavaScript Patterns I Wish I Used Earlier1997
software-design-patterns
JavaScript’s Trademark Problem (rau)1996
oracle, legal, deno
Learning Web Development: JavaScript Exceptions (rau)1995
errors
You No Longer Need JavaScript (reb)1994
css, html, examples
Learning Web Development: Plain Objects in JavaScript (rau)1993
objects
Learning Web Development: Modules and Testing in JavaScript (rau)1992
modules, testing
Hack to the Future—Frontend (the)1991
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)1990
guest-posts, javascript-engines, v8, spidermonkey, javascriptcore, quickjs, chakracore
JavaScript Engines Zoo1989
javascript-engines, overviews, comparisons, v8, spidermonkey, quickjs, javascriptcore, chakracore
Understanding “Promise.any()”: When One Success Is Enough1988
promises, asynchronicity
Learning Web Development: Loops in JavaScript (rau)1987
loops
Unit Formatting With “Intl” in JavaScript (ray)1986
units, localization
What’s Next for JavaScript? (jsd)1985
outlooks
Learning Web Development: Arrays in JavaScript (rau)1984
arrays
Learning Web Development: Strings and Methods in JavaScript (rau)1983
strings, methods
Learning Web Development: Numbers, Variables, Functions in JavaScript (rau)1982
variables, functions
Eliminating JavaScript Cold Starts on AWS Lambda (goo)1981
lambda, aws, runtimes
JavaScript Is Tough to Master1980
learning
Speeding Up the JavaScript Ecosystem—SemVer (mar)1979
performance, semver, versioning, dependencies
A Progressive Complexity Manifesto (che)1978
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)1977
guides, apis, internationalization
Using the Custom Highlight API (chr/fro)1976
apis, css, syntax-highlighting
Building Extensible Frontend Systems (cfe)1975
web-components, extensibility, css
How JavaScript Really Evolves: Inside TC39 With Daniel Ehrenberg (lit+/wee)1974
videos, interviews, ecmascript
How We Made “JSON.stringify” More Than Twice as Fast1973
json, strings, v8, javascript-engines, optimization, performance
Our Fight With Oracle Is Getting Crazy… (den)1972
videos, oracle, legal, licensing
JavaScript Isn’t the Problem—Replacing the Browser Was (p4p/red)1971
single-page-apps, browsers
What Your Website’s Style Says About You—and How Hackers Can Use It Against You (err)1970
security, css
HTML-First, Framework-Second: Is JavaScript Finally Growing Up?1969
html, frameworks
Logical Assignment Operators in JavaScript: Small Syntax, Big Wins1968
operators
The Many, Many, Many JavaScript Runtimes of the Last Decade (shi)1967
runtimes, history
Vanilla JavaScript Support for Tailwind Plus (phi+/tai)1966
tailwind
Never Write Your Own Date Parsing Library (zac)1965
libraries, comparisons, time, parsing
The Untold Story of JavaScript1964
videos, history
Web Serial: The Only Reason I’ll Admit JavaScript Isn’t All Bad1963
A Primer on Focus Trapping (zel/css)1962
introductions, focus, keyboard-navigation, accessibility
Handling JavaScript Event Listeners With Parameters (sma)1961
events
Compile Svelte 5 in Your Head1960
svelte, compiling
Revisiting My 2010 JavaScript Library (dia)1959
retrospectives, libraries, internet-explorer, microsoft, browsers
Writing “!= null”? That’s What Junior Devs Do—Here’s the Senior Way1958
The Untold Story of JavaScript (den)1957
videos, history
Modern Async Iteration in JavaScript With “Array.fromAsync()”1956
arrays, asynchronicity
Managing the State of Your Promises (ato)1955
state-management, promises
Bulletproof Web Component Loading (cfe)1954
web-components
These 5 Programming Languages Are Quietly Taking Over in 20251953
programming, rust, python, go
JavaScript Scope Hoisting Is Broken (dev)1952
scope, code-splitting
30 Years of JavaScript: 10 Milestones That Changed the Web1951
anniversaries, history, ecmascript, ajax, jquery, web-2.0, nodejs, npm, react, typescript, webassembly
JavaScript Is Being Rewritten in Rust (ost/end)1950
rust
I Started Learning JavaScript Again—a Beginner-Friendly Guide to the Basics1949
guides, fundamentals
A Simple Website1948
websites, history, layout, animations, images, tables, ajax, flash, deploying, simplicity
How JSDoc Saved My Dev Workflow (ato)1947
jsdoc, typescript, documentation
Default Parameters: Your Code Just Got Smarter1946
What’s the Difference Between Ordinary Functions and Arrow Functions in JavaScript? (jrs)1945
functions, comparisons
JavaScript Trademark Update (tin/den)1944
legal, oracle
Ecma International Approves ECMAScript 2025: What’s New? (rau)1943
ecmascript
What’s Coming to JavaScript (lca/den)1942
deno
Speculative Optimizations for WebAssembly Using Deopts and Inlining (lie)1941
v8, javascript-engines, webassembly, optimization, speculation
Tips for Making Regular Expressions Easier to Use in JavaScript (rau)1940
regex, tips-and-tricks, examples
Decoding the SVG “path” Element: Curve and Arc Commands (sma)1939
svg, css
Deep Dive Into JavaScript Engine Internals: V8, SpiderMonkey, and Chakra1938
deep-dives, javascript-engines, v8, spidermonkey, chakracore
JavaScript Broke the Web (and Called It Progress) (jon)1937
performance, user-experience, tooling, tech-stacks, history
9 New JavaScript Features in ES2025 (w3c/syn)1936
videos, ecmascript
When Can I Use Temporal?1935
apis, time
JSON Module Scripts Are Now Baseline Newly Available (tom)1934
json, browsers, support, web-platform
Slightly Enhanced Sticky Revealing Footer (cri)1933
navigation, css
Compiling JavaScript Ahead of Time (goo/web)1932
videos, javascript-engines, compiling
JavaScript String “slice()” Considered Harmful (att)1931
strings
Using “await” at the Top Level in ES Modules1930
esm, asynchronicity
CJS vs. AMD vs. UMD vs. ESM: Which JavaScript Module Format Should You Use—and Why It Even Matters1929
nodejs, modules, commonjs, esm, bundling, comparisons
Happy Birthday, JavaScript (ato)1928
anniversaries
Exploring JavaScript (rau)1927
books
Quick Tip: Avoid Event Listeners on the “window” Object (nat)1926
jquery, events, accessibility, tips-and-tricks
How JavaScript Was Written Back in the Day (tre)1925
jquery, history, comparisons
Worker Threads in Node.js: A Complete Guide for Multithreading in JavaScript (nod)1924
guides, nodejs, worker-threads, multithreading
How to Use the Browser Console: An In-Depth Guide (mat/deb)1923
guides, how-tos, dev-tools, console, browsers
5 Best JavaScript Web Scraping Libraries in 2025 (api)1922
libraries, scraping, link-lists
Creating the “Moving Highlight” Navigation Bar With JavaScript and CSS (sma)1921
navigation, effects, css
How to “import()” a JavaScript String (zac)1920
how-tos, strings
“firstChild” Can Be White Space (chr/fro)1919
whitespace
How Imports Work in RSC (dan)1918
react, components, modules
I Copy These 10 Code Snippets Into Every Project1917
debouncing, json, objects, arrays
“document.currentScript” Is More Useful Than I Thought (mac)1916
Is It JavaScript? (jim)1915
browsers, servers, jsx, typescript, terminology
Write More Reliable JavaScript With Optional Chaining1914
reliability
A JavaScript Developer’s Guide to Go (psu)1913
guides, go, examples
Web Bluetooth API Usage—a Practical Guide1912
guides, apis
The 3 Ways JavaScript Frameworks Render the DOM (rya)1911
videos, frameworks, dom, rendering
Why Are 2025/05/28 and 2025-05-28 Different Days in JavaScript?1910
time
A Thought on JavaScript “Proof of Work” Anti-Scraper Systems (cks)1909
ai, scraping
Comparing Rust, JavaScript, and Go for Authoring WASM Components1908
webassembly, components, rust, go, comparisons
JavaScript’s Upcoming Temporal API and What Problems It Will Solve1907
time, apis
Multithreading in JavaScript With Web Workers (hon)1906
multithreading, web-workers, examples
A Brief History of JavaScript (den)1905
history, ecmascript, typescript, json, javascript-engines, runtimes, browsers
You Can Style Alt Text Like Any Other Text (geo/css)1904
alt-text, accessibility, images, css
Make Screen Readers Talk With the ARIA Notify API (ale)1903
accessibility, screen-readers, aria, notifications, apis
Authenticating JavaScript WebSockets1902
websockets, authentication
Introduction to JavaScript Frameworks (rya)1901
introductions, videos, frameworks, react, angular, vuejs, svelte, solidjs
How JavaScript’s “at()” Method Makes Array Indexing Easier1900
arrays
JavaScript in the Morning, JavaScript in the Evening… (ray)1899
localization
The State of JavaScript Debugging in WebAssembly1898
webassembly, debugging
No Server, No Database: Smarter Related Posts in Astro With transformers.js (ale)1897
astro, ai, hugging-face
Handling Routes in JavaScript Projects (sea)1896
routing, frameworks
Styling Console Text in Node.js (rau)1895
nodejs, console
I Think the Ergonomics of Generators Is Growing on Me (mac)1894
functions
JavaScript Compile Hints: What They Are and When to Use Them (tre)1893
compiling, v8, javascript-engines
Building the Bridge: Running JavaScript Modules From Dart1892
modules, esm, commonjs, dart, deno
Migrating a JavaScript Project From Prettier and ESLint to BiomeJS (app)1891
migrating, prettier, eslint, biome
The Power of the Spread and Rest Syntax in JavaScript1890
arrays
Event Handling in JAWS and NVDA (sib/tpg)1889
accessibility, screen-readers, jaws, nvda, events, comparisons
JavaScript, When Is This? (wil/pic)1888
Converting Values to Strings in JavaScript (rau)1887
conversion
Giving V8 a Heads-Up: Faster JavaScript Startup With Explicit Compile Hints1886
v8, javascript-engines, compiling
Giving Software Away for Free (sim)1885
foss, hosting, html
Why Care About the No-JS Experience? (cfe)1884
support
Making a Small JavaScript Blog Static Site Generator Even Smaller Using the General “async-tree” Library (jan)1883
static-site-generation, tooling
JavaScript Framework Reality Check: What’s Actually Working1882
frameworks, qwik, solidjs, sveltekit, fresh
Creating CSS Theme Variables From a JS File (mic)1881
css, theming, custom-properties, conversion
Why I’m Not Ready to Abandon JavaScript for “Faster” Languages1880
rust, go, refactoring, performance
Contextual Logging With “console.context()” (pat)1879
console, dev-tools, browsers
When to Use “map()” vs. “forEach()”1878
arrays, comparisons
Optimizing Node.js Performance: V8 Memory Management and GC Tuning (mco/pla)1877
nodejs, performance, optimization, v8, javascript-engines, memory, garbage-collection
Float16Array in JavaScript (tre)1876
arrays
Next Level CSS Styling for Cursors (val/css)1875
css, cursors
A Flowing WebGL Gradient, Deconstructed1874
webgl, gradients, math
Exploring TypeScript: TS 5.8 Edition (rau)1873
books, typescript
Mastering Default Values in JavaScript With the Nullish Coalescing (“??”) Operator1872
operators
Some Features That Every JavaScript Developer Should Know in 20251871
arrays, promises, prototypes, variables
Hiding Elements That Require JavaScript Without JavaScript (0xd)1870
css, html
Debugging JavaScript Memory Leaks (jar/bun)1869
memory, debugging, dev-tools, chrome, google, browsers, bun
A Decade of Impact: How Our npm Packages Hit 1 Billion Downloads and Shaped JavaScript1868
npm, dependencies, history
React 19’s New Hooks: With Practical Examples (let)1867
react, hooks, examples
Deno vs. Oracle Update 3: Fighting the JavaScript Trademark (tin/den)1866
deno, oracle, legal, history
Breaking Down Circular Dependencies in JavaScript1865
dependencies
Automated Visual Regression Testing With Playwright (css)1864
regressions, testing, automation, playwright
Could JavaScript Have Synchronous “await”? (rau)1863
asynchronicity
JavaScript’s Missing Link: Wasp Offers Full Stack Solution1862
wasp, frameworks, history
Land Ahoy: Leaving the Sea of Nodes1861
v8, javascript-engines, compiling
War Story: The Hardest Bug I Ever Debugged (jak)1860
debugging, google, v8, chrome, browsers, bugs
UI Algorithms: A Tiny Undo Stack (jul)1859
algorithms, functionality, undo-redo
JavaScript Basics for a Senior Dev1858
fundamentals, concepts, examples
Previewing Content Changes in Your Work With “document.designMode” (sma)1857
browsers, dev-tools, content, design
Stop Chasing New JavaScript Frameworks: Build With Fundamentals Instead1856
fundamentals, frameworks, react, vuejs, angular, svelte, solidjs
SSR Deep Dive for React Developers1855
deep-dives, server-side-rendering, react
How WebAssembly Components Can Replace JavaScript SDKs (sac)1854
webassembly, components
Why the Latest JavaScript Frameworks Are a Waste of Time1853
frameworks, react, angular
“Intl.DurationFormat”: Format Time Durations With Locale Support (tre)1852
localization
A Perplexing JavaScript Parsing Puzzle (hil)1851
parsing, history
On JavaScript Closures (With Examples of Interview Questions) (mar)1850
guest-posts, closures, variables, examples, interviewing
Ten Years Ago Today I Coined the Shorthand “js;dr” for “JavaScript Required; Didn’t Read” (tan)1849
support, terminology
JavaScript Best Practice: Use “return await”1848
asynchronicity, best-practices
The Professional Standing of Frontend Developers (mar)1847
guest-posts, career, learning, html, css, communication, collaboration, community, ai
7 Best Practices of File Upload With JavaScript and React1846
file-handling, react, best-practices
JavaScript (htt)1845
web-almanac, studies, research, metrics, performance, bundling, transpiling, web-workers, libraries, web-components
Image Comparison Slider in 6 Lines of JavaScript1844
sliders, images
JavaScript Fatigue Strikes Back (all)1843
react, frameworks, libraries, tooling
How to Reduce Web Application Bundle Size? (ant)1842
how-tos, web-apps, bundling, tooling
What Is TypeScript? An Overview for JavaScript Programmers (rau)1841
overviews, typescript, comparisons
Justified Text, JS “moveBefore” Method, Performance Optimization (zor/css)1840
videos, css, typography, performance, optimization
Turbocharging V8 With Mutable Heap Numbers1839
v8, javascript-engines, performance, randomness
Subverting Control With Weak References (jlo)1838
programming
Solved by Style Observer: “Element.matchContainer()” (bra)1837
css
Speeding Up the JavaScript Ecosystem—Rust and JavaScript Plugins (mar)1836
performance, rust, plugins
Clean Code in JavaScript: A Comprehensive Guide1835
guides, principles, conventions, variables, objects, functions, comments, testing, quality
Introduction to Frontend Development1834
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)1833
standards, ecmascript, regex, escaping, arrays, math
20 Years of AJAX: The Technology That Revolutionized Web Development1832
ajax, history, data-fetching
How to Move the First Element to the End in JavaScript1831
how-tos
Create Contextual Console Loggers (pat/dev)1830
console, debugging, dev-tools, browsers, edge, microsoft, chrome, google
Style Observer: JS to Observe CSS Property Changes, for Reals (lea)1829
tooling, libraries, css
Testing 10 JavaScript Frameworks on Their HTML Defaults (j9t)1828
frameworks, html, conformance, comparisons, link-lists
Think JavaScript Is Slow? Here’s How JIT (Just in Time) Compilation Makes It 100× Faster Instantly1827
compiling, performance
The First Ever Website That Literally Glows in the Dark1826
videos, effects, apis, css
View Transitions Applied: More Performant “::view-transition-group(*)” Animations (bra)1825
css, view-transitions, performance
Move on to ESM-Only (ant)1824
esm, modules, nodejs, support, typescript
Using “at()” Method in JavaScript to Get the Last Item From an Array (ama)1823
arrays
Oracle Justified Its JavaScript Trademark With Node.js—Now It Wants That Ignored (tin/den)1822
oracle, nodejs, deno, legal
Fast and Smooth Third-Party Web Fonts (sco)1821
fonts, embed-code, performance, css
Introducing the JSR Open Governance Board (tin+/den)1820
introductions, jsr, typescript, community
There Are a Lot of Ways to Break Up Long Tasks in JavaScript (mac)1819
web-workers, performance
Is npm Enough? Why Startups Are Coming After This JavaScript Package Registry (kat/red)1818
npm, jsr, bun, pnpm, yarn
Vite With TypeScript (rwi)1817
vite, migrating, typescript, configuration
How to Set WebGL Shader Colors With CSS and JavaScript (nma)1816
how-tos, webgl, css
Page Bloat Update: How Does Ever-Increasing Page Size Affect Your Business and Your Users? (tam/spe)1815
performance, trends, metrics, images, desktop, mobile
What Text Area Popovers Taught Me About Browser APIs (bla)1814
html, forms, apis
How Long Is a Second in JavaScript? (iag)1813
The Modern Way to Write JavaScript Servers (mar)1812
nodejs, servers
You’re Overthinking Web Components (all)1811
web-components
JavaScript Temporal Is Coming (bsm/mdn)1810
apis, time
Exploring AI, Web Development, and Accessibility in Tech With Stefan Judis (ste+/wea)1809
videos, interviewing, ai, runtimes, accessibility, screen-readers, craft
My Website Has Been Gaslighting You (dav)1808
css, colors, effects
Simplify Lazy Loading With Intersection Observer’s “scrollMargin” (fro)1807
scrolling, apis, lazy-loading, performance
Generating Test Values Using JavaScript Generators1806
typescript, functions, testing
Google Begins Requiring JavaScript for Google Search (kyl)1805
google
SolidJS Creator on Confronting Web Framework Complexity1804
frameworks, angular, vuejs, multi-page-apps, single-page-apps, complexity, outlooks
JavaScript’s “Promise.race” and “Promise.all” Are Not “Fair” (chr)1803
promises
Making “this” Less Annoying (dav)1802
formatting, configuration
Using SVGs on Canvas With Compose Multiplatform (eev)1801
canvas, svg, images
What Is a Callback Function? (cfe)1800
callbacks, functions
JavaScript Hashing Speed Comparison: MD5 Versus SHA-256 (lem)1799
hashing, performance, comparisons, bun, nodejs
All JavaScript Keyboard Shortcut Libraries Are Broken1798
libraries, keyboard-shortcuts
Oracle Refuses to Yield JavaScript Trademark, Deno Land Says (inf)1797
oracle, deno, legal
Sharing a Variable Across HTML, CSS, and JavaScript (chr/fro)1796
variables, html, css
Exploring Modern JavaScript Compilers: Why Oxc Matters for the Developer Community (hac)1795
oxc, compiling, tooling
5 Technical JavaScript Trends You Need to Know About in 20251794
trends, architecture, serverless, webassembly, state-management, typescript, type-safety, micro-frontends
2024 JavaScript Rising Stars1793
frameworks, libraries, react, vuejs, tooling, mobile, desktop, state-management, ai, css-in-js, testing, graphql, retrospectives
Progressive Enhancement Brings Everyone In (jay)1792
progressive-enhancement, history, advocacy, link-lists
Reckoning: Frontend’s Lost Decade (sli/per)1791
videos, performance, web-platform
Top PHP Alternative for Web Development?1790
php, java, python, ruby, go, rust
JavaScript Frameworks—Heading Into 2025 (rya/thi)1789
frameworks, performance, complexity, maintainability
Relatively New Things You Should Know About HTML Heading Into 2025 (chr/fro)1788
html, forms, toggles, pop-overs, import-maps, css, transitions
The Difference Between HTML Attributes and Properties (pau/clo)1787
html, attributes, terminology
What’s Actually Happening With JS Frameworks1786
videos, frameworks, trends
Refactoring a Web Performance Snippet for Security and Best Practice (the)1785
performance, metrics, refactoring
View Transitions Snippets: Getting All Animations Linked to a View Transition (bra)1784
css, view-transitions, apis
A Gentle Introduction to Using a Vector Database1783
introductions, databases, vector-databases, ai, openai
Breaking Up With Long Tasks or: How I Learned to Group Loops and Wield the Yield (rvi/per)1782
performance, loops
Shallow Clones Versus Structured Clones (phi)1781
After Rome Failure, VoidZero Is the Newest Attempt to Create Unified JavaScript Toolchain (inf)1780
voidzero, tooling
JavaScript Benchmarking Is a Mess1779
performance
Broadcast Channel API (5t3)1778
apis
Important Topics for Frontend Developers to Master in 20251777
learning, typescript, css, frameworks, git, apis, testing, performance, security, ci-cd, websockets
“AsyncLocalStorage”: Simplify Context Management in Node.js (tre)1776
nodejs, asynchronicity
JS Import Maps (5t3)1775
dependencies, import-maps
How to Create Multi-Step Forms With Vanilla JavaScript and CSS (css)1774
how-tos, forms, css
WebAssembly JavaScript Interface (w3c)1773
standards, webassembly, apis
State of JavaScript 2024 [Results] (sac/dev)1772
surveys, metrics
11 Essential JavaScript Hooking Techniques for Reverse Engineering in 2024 (xiu)1771
debugging, techniques
Your JavaScript Bundle Is Too Fat1770
bundling, performance, dependencies, code-splitting, lazy-loading, tree-shaking, minification, optimization
5 Technical Trends to Help Web Developers Stand Out in 20251769
trends, career, security, ai, low-and-no-code
Native HTML Light and Dark Color Scheme Switching (pep/mat)1768
dark-mode, html, css, functionality
Understanding the Main Thread in the Browser (per)1767
browsers, dom
Publishing a Simple Client-Side JavaScript Package to npm With GitHub Actions (sim)1766
dependencies, npm, github-actions
Just Say “No” to JavaScript (nic/inf)1765
typescript, programming
Creating an Effective Multistep Form for Better User Experience (sma)1764
forms, html, user-experience
Let’s Learn Generators in JavaScript1763
functions
Observation: CSS Math Eval (kiz)1762
css, math
The 5 Most Transformative JavaScript Features From ES15 (tar)1761
ecmascript
Contributing to JavaScript and TypeScript (rob)1760
videos, typescript, foss, standards
Building Better CLI Apps (mol)1759
videos, typescript, command-line, tooling
Deno vs. Oracle: Canceling the JavaScript Trademark (tin/den)1758
deno, oracle, legal
JavaScript Events Made Easy: A Comprehensive Guide for Beginners1757
guides, events
Mastering JavaScript Event Delegation1756
events
Exploring Alternative Interactions in JavaScript (dev)1755
videos, ai, interaction-design
Mastering Accessible Modals With ARIA and Keyboard Navigation (a11)1754
accessibility, keyboard-navigation, aria, modals
State of JavaScript 2024 (sac/dev)1753
surveys
Importing a Frontend JavaScript Library Without a Build System (b0r)1752
libraries, commonjs, esm, nodejs, html
The Art of Clean Code: A Practical Guide to Writing Maintainable JavaScript1751
guides, principles, maintainability
Exploring JavaScript Symbols (tre)1750
Self-Contained Executable Programs With Deno Compile (tin/den)1749
deno, typescript, compiling
Understanding Bitwise Shifts in JavaScript: “<<” and “>>” (tre)1748
operators
JavaScript Import Attributes (ES2025) (tre)1747
security
Why Does JavaScript’s “parseInt(0.0000005)” Print “5”?1746
How a BBC Navigation Bar Component Broke Depending on Which External Monitor It Was On (jos)1745
debugging, case-studies
The Path to Learn Web Development (fla)1744
learning, http, html, css, tooling, git, typescript, databases, frameworks
Mapping Over Promises in JavaScript (pmb)1743
promises
Should Web Designers Learn JavaScript or CSS? (ope)1742
design, career, css
Celebrating Innovation and Impact: JavaScriptLandia Community Awards (ope)1741
community
Maybe It Isn’t JavaScript (gee)1740
videos, seo, google
How Bun Supports V8 APIs Without Using V8 II (bun)1739
bun, v8, apis
How Do HTML Event Handlers Work? (tbr)1738
html, events
How to Test JavaScript for Accessibility Compliance (flo/a11)1737
how-tos, accessibility, compliance, wcag, testing
JavaScript’s “&&=” Operator: Understanding Logical “AND” Assignment (tre)1736
operators
JavaScript’s “??=” Operator: Default Values Made Simple (tre)1735
operators
Introducing the vlt Package Manager and Serverless Registry1734
introductions, dependencies, serverless, tooling
JavaScript Do’s and Don’ts (mua)1733
accessibility
How to Roll Your Own Auth in JavaScript and TypeScript (rwi)1732
how-tos, authentication, typescript
What Is the JavaScript Pipeline Operator “|>” (tre)1731
operators
Octoverse: AI Leads Python to Top Language as the Number of Global Developers Surges1730
research, github, community, ai, programming, python, typescript, java, php, shells, go
JavaScript Best Practices (jet)1729
best-practices
20 JavaScript Tricks Every Developer Must Know1728
tips-and-tricks
JavaScript Truthy and Falsy: A Deep Dive (tre)1727
deep-dives
How We Shrunk Our JavaScript Monorepo Git Size by 94%1726
monorepos, git
Front End Debugging: Not Just Console Log (deb)1725
debugging, console, dom
Should JavaScript Be Split Into Two Languages? New Google-Driven Proposal Divides Opinion1724
ecmascript, google, runtimes
Passing Data to New Window Using JavaScript1723
comparisons
Set the Default Time Zone in Node.js (ste)1722
nodejs, internationalization, localization, time
Why I’m Skeptical of Rewriting JavaScript Tools in “Faster” Languages (nol)1721
tooling, programming
Platform Strategy and Its Discontents (sli)1720
web-platform, mobile, mobile-first, native, performance, user-experience
How to Build an Image Search Application With OpenAI CLIP and PostgreSQL in JavaScript1719
how-tos, images, search, ai, openai, postgresql, databases, functionality
How to Convert CommonJS to ESM (den)1718
how-tos, conversion, commonjs, esm
Does Deno 2 Really Uncomplicate JavaScript? (fir)1717
videos, deno, jsr, comparisons
The Greatness and Limitations of the “js-framework-benchmark” (nol)1716
frameworks, tooling, performance, metrics
I Didn’t Know You Could Use Sibling Parameters as Default Values in Functions (mac)1715
functions
The Secrets of JavaScript Object Property Order1714
objects
Handling Paste Events in JavaScript (ray/fro)1713
events
JS Frameworks, in Their Own Words (by Word Cloud) (j9t)1712
frameworks, react, vuejs, angular, svelte, express, meteor, nextjs, comparisons
Dive Into WebGPU (oka)1711
introductions, webgpu
The Popover API: Your New Best Friend for Tooltips (dev)1710
pop-overs, apis, tooltips, html, css
Floating in Space—Animations With Compose and Canvas (eev)1709
canvas, animations
10 JavaScript Concepts Every Node Developer Must Master1708
nodejs, concepts
Unleash JavaScript’s Potential With Functional Programming (jan)1707
programming, comparisons
How Bun Supports V8 APIs Without Using V8 (bun)1706
bun, v8, apis, comparisons
You Might Not Need That Framework (fro)1705
frameworks
Disable Console Logs in Production in Next.js (ami)1704
nextjs, console, logging
A Guide to Destructuring in JavaScript (wil/pic)1703
guides, examples
Compile and Run C in JavaScript (jar/bun)1702
compiling
Don’t Sleep on AbortController1701
This New JavaScript Operator Is an Absolute Game Changer (tar)1700
operators
Hacking Cars in JavaScript (Running Replay Attacks in the Browser With the HackRF) (dev)1699
security
Oracle, It’s Time to Free JavaScript (tin+)1698
licensing, legal, oracle
How to Use JavaScript With LangChain: A Step-by-Step Guide1697
how-tos, guides, langchain
Bitwise Operators in JavaScript and When to Use Them (8ho)1696
operators
Rethinking CSS in JS1695
css, css-in-js, design, design-systems, maintenance, state-management
The Redmonk Programming Language Rankings: June 20241694
programming, comparisons, python, java, php, typescript, css, ruby, go, shells, rust, dart
Something Went Wrong (mol)1693
frameworks, community, developer-experience, user-experience
From Node.js to Deno: How It All Began (tin)1692
videos, nodejs, deno, runtimes, history