File Uploads for the Web: Upload Files With JavaScript (by) | | 764 |
file-handling |
Speeding Up the JavaScript Ecosystem—npm Scripts (by) | | 763 |
performance, bundling, npm |
Time to Move on From Nunjucks? (by) | | 762 |
template-engines, nunjucks, webc, liquid |
Unexpected Moments of JavaScript That Will Challenge Your Understanding of the Language (by) | | 761 |
|
JavaScript Polyfills (by) | | 760 |
polyfills |
JavaScript for Beginners: Data Structures | | 759 |
data-structures, arrays, objects |
Progressively Enhancing a Table With a Web Component (by) | | 758 |
html, tables, web-components, progressive-enhancement |
JavaScript: Automatically Remove an Event Listener After It Has Executed (by) | | 757 |
events |
The Ternary Operator in JavaScript (by) | | 756 |
operators |
Create and Download Text Files Using JavaScript (by) | | 755 |
|
Evolving Custom Sliders (by/via) | | 754 |
css |
All JavaScript and TypeScript Features From the Last 3 Years (via) | | 753 |
typescript, history |
Change Favicon on Switching Browser Tabs in JavaScript (by) | | 752 |
images, favicons |
ARIA Live Regions for JavaScript Frameworks (by/via) | | 751 |
accessibility, aria, live-regions, frameworks |
10 Helpful JavaScript Utility Functions (by) | | 750 |
functions |
Client-Side JavaScript and React Criticism: What Comes Next? (by) | | 749 |
react, accessibility, performance, resilience, progressive-enhancement |
Making the Case for Signals in JavaScript (by/via) | | 748 |
signals |
React vs. Signals: 10 Years Later (by/via) | | 747 |
react, signals, comparisons, retrospectives |
The Evolution of Signals in JavaScript (by/via) | | 746 |
signals |
The Coolest JavaScript Features From the Last 5 Years (by) | | 745 |
retrospectives |
Dithering Images With React/JavaScript (by) | | 744 |
images, dithering, react |
Debugging JavaScript Like a Pro: Tools and Techniques for Finding and Fixing Bugs (by) | | 743 |
debugging, tooling, techniques |
Experiments With the JavaScript Garbage Collector (by/via) | | 742 |
garbage-collection, experiments |
All About Promises in JavaScript (by) | | 741 |
promises |
When JavaScript Fails (by) | | 740 |
|
The Great Gaslighting of the JavaScript Era (by) | | 739 |
frameworks, web-platform |
How to Handle Date and Time With JavaScript (via) | | 738 |
how-tos |
The State of JS Frameworks (by+/via) | | 737 |
podcasts, frameworks |
Encapsulating CSS With Shadow DOM (via) | | 736 |
shadow-dom, dom, css |
Writing JavaScript Without a Build System (by) | | 735 |
building |
The User Activation API (by/via) | | 734 |
apis |
Is It Worth Learning JavaScript? Popularity, Salaries, and Future (via) | | 733 |
career |
Well-Known Symbols (by) | | 732 |
|
Change Tab Bar Color Dynamically Using JavaScript (by) | | 731 |
colors, theming, browsers |
This Is Why Performance Matters (by) | | 730 |
performance, user-experience |
So, What’s Next [for core-js]? (by) | | 729 |
foss, community, economics |
Sandboxing JavaScript Code (by) | | 728 |
security |
Rethinking the Modern Web (by) | | 727 |
web-platform, tooling |
The Case for Frameworks (by) | | 726 |
frameworks, web-platform |
Discovering Primitive Objects in JavaScript (via) | | 725 |
objects |
Use Maps More and Objects Less (by/via) | | 724 |
objects |
Table of Contents Progress Animation (by) | | 723 |
html, css, animations |
Speeding Up the JavaScript Ecosystem—ESLint (by) | | 722 |
performance, eslint, linting |
The Market for Lemons (by) | | 721 |
web-platform, frameworks |
Rotating Gallery With CSS Scroll-Driven Animations (by) | | 720 |
html, css, animations, scrolling |
Multi-Threaded React App Using useWorker (by) | | 719 |
multithreading, react, web-workers |
The YAML Document From Hell—JavaScript Edition (by) | | 718 |
yaml |
How to Get the Last Matching Item in an Array With Vanilla JavaScript (by) | | 717 |
how-tos, arrays |
Cancel Duplicate Fetch Requests in JavaScript Enhanced Forms (by) | | 716 |
data-fetching |
The Ultimate Guide to JavaScript Error Handling (by/via) | | 715 |
guides, errors |
Using Local Storage in JavaScript and React (by) | | 714 |
react, storage |
You’ve Got Options for Removing Event Listeners (by) | | 713 |
events |
Accessible Hamburger Buttons Without JavaScript | | 712 |
accessibility, navigation |
10 GitHub Repositories You Should Know as a JavaScript Developer (by) | | 711 |
cheat-sheets, best-practices, link-lists, github |
Flow Control in JavaScript: Callbacks, Promises, “async”/“await” (by+/via) | | 710 |
callbacks, promises, asynchronicity |
“scrollend”, a New JavaScript Event (by/via) | | 709 |
events |
10 Web Development Trends in 2023 (by) | | 708 |
trends, frameworks, tooling, monorepos, css, ai, code-completion |
Is CSS-in-JS Actually Bad? (by) | | 707 |
css, css-in-js |
So You Want to Make a New JS Framework (by) | | 706 |
frameworks |
Deep Cloning Objects in JavaScript, the Modern Way (by/via) | | 705 |
objects |
Promises, Thenables, and Lazy-Evaluation: What, Why, How (by) | | 704 |
promises |
A Better Way to Work With Number and Date Inputs in JavaScript (by/via) | | 703 |
|
Speeding Up the JavaScript Ecosystem—Module Resolution (by) | | 702 |
performance, modules, esm, commonjs |
Advanced Usage Patterns for Taking Page Element Screenshots With Playwright (by) | | 701 |
screenshots, playwright |
Four Ways to Chop Up Arrays (with Vanilla JavaScript) (by) | | 700 |
arrays |
The State of JavaScript 2022 [Results] (by/via) | | 699 |
surveys |
The Gotcha of Unhandled Promise Rejections (by) | | 698 |
promises |
JavaScript, Community (by) | | 697 |
community |
Why Not “document.write()”? (by) | | 696 |
performance |
2022 JavaScript Rising Stars (by) | | 695 |
frameworks, react, vuejs, building, testing, tooling, mobile, desktop, state-management, css-in-js, graphql, retrospectives |
Top 13 Templating Engines for JavaScript to Improve and Simplify Your Workflow 2023 (by/via) | | 694 |
template-engines, handlebars, nunjucks, pug, comparisons, link-lists |
Use nvm and .nvmrc for a Better JavaScript Development (by) | | 693 |
nvm, nodejs |
Conditional API Responses for JavaScript vs. HTML Forms (by) | | 692 |
html, forms, security, comparisons |
Cloning Arrays and Objects in Vanilla JavaScript (by) | | 691 |
arrays, objects |
Intro to JavaScript Closures (by) | | 690 |
introductions, closures |
JavaScript Frameworks—Heading Into 2023 (by/via) | | 689 |
frameworks |
Building an Accessible Theme Picker With HTML, CSS, and JavaScript (by) | | 688 |
accessibility, html, css, theming, functionality |
Signals: The Nitty-Gritty (by/via) | | 687 |
performance, signals |
Pointer Events (by) | | 686 |
css, events |
Using Inline JavaScript Modules to Prevent CSS Blockage (by/via) | | 685 |
performance, css |
ECMAScript Proposal: Iterator Helpers (by) | | 684 |
ecmascript, standards |
The Most Popular CSS-in-JS Libraries in 2022 (via) | | 683 |
libraries, css, css-in-js |
Get Off the Main Thread With an Inline Web Worker: An Example (by/via) | | 682 |
performance, web-workers, examples |
How to Merge Objects in JavaScript (via) | | 681 |
how-tos, objects |
JavaScript Polyfills for Interviews (via) | | 680 |
polyfills, interviewing |
Using SRI to Protect From Malicious JavaScript (by/via) | | 679 |
security |
Developing Faster JavaScript Apps: The Ultimate Guide to Web Workers (by/via) | | 678 |
guides, web-apps, performance, web-workers |
Tips for Typing Import Statements in JavaScript (by) | | 677 |
|
Speeding Up the JavaScript Ecosystem—One Library at a Time (by) | | 676 |
performance, libraries |
Convert Any Value to a Boolean in JavaScript (by) | | 675 |
|
5 Ways to Make Your JavaScript More Functional (by/via) | | 674 |
programming |
Document Object Model (DOM) Geometry: A Beginner’s Introduction and Guide (by/via) | | 673 |
introductions, guides, dom |
Our Future CSS Strategy (by/via) | | 672 |
css, css-in-js, strategies, case-studies |
State of JavaScript 2022 (by/via) | | 671 |
surveys |
A Guide to Keyboard Accessibility: JavaScript (by/via) | | 670 |
guides, accessibility, keyboard-navigation |
Days Since Last JS Framework (by) | | 669 |
websites, frameworks |
Back to Basics: What are Callbacks in JavaScript? (by/via) | | 668 |
fundamentals, callbacks |
Spy On “window.postMessage” Calls (by) | | 667 |
cypress, testing |
Generating Slugs Using One Line of Code in JavaScript (by) | | 666 |
|
Why Would Anyone Need JavaScript Generator Functions? (by) | | 665 |
functions |
Saved From Callback Hell (via) | | 664 |
callbacks |
Client-Side Routing Without the JavaScript (by/via) | | 663 |
performance, frameworks |
An Overview of JavaScript Promises (by+/via) | | 662 |
overviews, promises |
7 Shorthand Optimization Tricks Every JavaScript Developer Should Know (by) | | 661 |
optimization |
Motion Controls in the Browser (by/via) | | 660 |
browsers, permissions |
What Is a Realm in JavaScript? (by) | | 659 |
|
Guide to the Best JavaScript Books for Beginners (via) | | 658 |
guides, books, link-lists |
Detect System Theme Preference Change Using JavaScript (by) | | 657 |
dark-mode |
JavaScript Shallow Copy—What Is a Shallow Copy? (by) | | 656 |
|
Why I Never Understood CSS-in-JS (by) | | 655 |
css, css-in-js |
Secure JavaScript URL Validation (by/via) | | 654 |
validation, urls, security |
Why We’re Breaking Up With CSS-in-JS (by) | | 653 |
css, css-in-js |
Two JavaScripts (by) | | 652 |
|
Speeding Up Async Snippets (by) | | 651 |
performance, asynchronicity |
Quick Tip: How to Use the Ternary Operator in JavaScript (via) | | 650 |
how-tos, operators, tips-and-tricks |
Bun? Deno? Node.js? Creating Your Own JavaScript Runtime Using V8, Libuv, and More (by) | | 649 |
videos, runtimes, v8 |
Delightful UI Animations With Shared Element Transitions API II (by/via) | | 648 |
animations, transitions, apis |
Understanding “async” and “await” (by) | | 647 |
asynchronicity |
How to Safely Pass Data to JavaScript in a Django Template (by) | | 646 |
how-tos, django |
Quick Tip: How to Use the Spread Operator in JavaScript (via) | | 645 |
how-tos, operators, tips-and-tricks |
The Missing Math Methods in JavaScript (via) | | 644 |
math |
I Turned JS Into a Compiled Language (for Fun and Wasm) (by) | | 643 |
compiling, webassembly |
The Difference Between “undefined” and “not defined” in JavaScript (by/via) | | 642 |
|
I Changed My Mind About Writing New JavaScript Frameworks (by) | | 641 |
frameworks |
Delightful UI Animations With Shared Element Transitions API (by/via) | | 640 |
animations, transitions, apis |
Templating in HTML (by) | | 639 |
html |
Optimize Long Tasks (by/via) | | 638 |
performance |
Let Me Understand How JavaScript Works Under the Hood (by) | | 637 |
|
How to Return Multiple Values From a Function in JavaScript (by) | | 636 |
how-tos, functions |
Dear Console… (by) | | 635 |
console |
Useful JavaScript Math Functions and How to Use Them (by/via) | | 634 |
math, functions |
Named Element IDs Can Be Referenced as JavaScript Globals (by/via) | | 633 |
html |
JavaScript (by+/via) | | 632 |
web-almanac, studies, research, metrics |
The New Wave of JavaScript Web Frameworks (via) | | 631 |
frameworks |
How to Get All Sibling Elements of a Link or Button With Vanilla JavaScript (by) | | 630 |
how-tos, links, buttons |
Writing Composable SQL Using JavaScript (by/via) | | 629 |
databases, sql |
Rest vs. Spread Syntax in JavaScript (by) | | 628 |
comparisons |
How to Generate Random Numbers in JavaScript With “Math.random()” (by/via) | | 627 |
how-tos, math, randomness |
How to Get the Current Timestamp in JavaScript (by) | | 626 |
how-tos |
Building a Retro Draggable Web Component With Lit (by/via) | | 625 |
web-components |
Total Blocking Time: A Short and Sweet Guide for Happier Users (by/via) | | 624 |
performance |
7 Must Know JavaScript Tips and Tricks (by) | | 623 |
tips-and-tricks |
JavaScript APIs You Don’t Know About (by/via) | | 622 |
apis |
A Guide to Rounding Numbers in JavaScript (by/via) | | 621 |
guides |
Conditionally Spreading Objects in JavaScript (by) | | 620 |
objects |
The Seventh Way to Call a JavaScript Function Without Parentheses (by/via) | | 619 |
functions |
Mastering DOM Manipulation With Vanilla JavaScript (by) | | 618 |
dom |
Make It Short—Make It Better (by) | | 617 |
minimalism |
What’s New With Forms in 2022? (by/via) | | 616 |
forms, html |
A Quick Primer on Testing JavaScript (by) | | 615 |
introductions, testing |
Detect When Users Switch Tabs Using JavaScript (by) | | 614 |
|
The Art of Writing Secrets: Encryption for JavaScript Developers (by/via) | | 613 |
cryptography, encryption |
Dear Oracle, Please Release the JavaScript Trademark (by) | | 612 |
licensing, legal |
Disabled JavaScript Turns Off Native Lazy Loading (by) | | 611 |
html, performance, lazy-loading |
Useful JavaScript Data Grid Libraries (by/via) | | 610 |
libraries, grids, information-design, comparisons |
Default Exports in JavaScript Modules Are Terrible (by) | | 609 |
|
JavaScript Bugs Aplenty in Node.js Ecosystem—Found Automatically (by/via) | | 608 |
studies, research, nodejs, dependencies, security, quality |
Monitor Events and Function Calls via Console (by) | | 607 |
events, monitoring |
Implementing Promisable “setTimeout” (by) | | 606 |
|
What Is a REST API? (by/via) | | 605 |
apis, rest |
How to Use localStorage in JavaScript: An Easy Guide (by/via) | | 604 |
how-tos, storage, guides |
Re-Implementing JavaScript’s “==” in JavaScript (by) | | 603 |
operators |
An Introduction to Context Propagation in JavaScript (by/via) | | 602 |
introductions |
Dependency Injection in JS/TS (via) | | 601 |
typescript |
The Console API (by) | | 600 |
console, apis |
Custom Event Naming Conventions (by) | | 599 |
events, naming |
TypeScript vs. JavaScript: Which One You Should Use, and Why (by/via) | | 598 |
typescript, comparisons |
Code Golfing Tips and Tricks: How to Minify Your JavaScript Code (by/via) | | 597 |
how-tos, minification, tips-and-tricks |
The JavaScript Paradox (by/via) | | 596 |
|
Light/Dark Mode (by) | | 595 |
css, dark-mode |
Checking if a JavaScript Native Function Is Monkey Patched (by) | | 594 |
functions |
Adding Observability to Your Jest Tests (via) | | 593 |
jest, testing, observability |
Everything You Need to Know About JavaScript Import Maps (by/via) | | 592 |
dependencies, import-maps |
The History of JavaScript (by) | | 591 |
history |
Type Annotations in JavaScript (by/via) | | 590 |
typescript, annotations |
RedwoodJS vs. BlitzJS: The Future of Fullstack JavaScript Meta-Frameworks (by/via) | | 589 |
frameworks, redwoodjs, comparisons |
Front-End Internationalisation Tips (by/via) | | 588 |
internationalization, fonts, css |
JavaScript SDK “Package Size Is Massive”—So We Reduced It by 29% (via) | | 587 |
optimization, tree-shaking |
The 10 Most Common JavaScript Issues Developers Face (via) | | 586 |
mistakes |
15 Common Beginner JavaScript Mistakes (by) | | 585 |
mistakes |
Useful Tips and Tricks in JavaScript (by) | | 584 |
tips-and-tricks |
JSON Creator Douglas Crockford Interview (by/via) | | 583 |
interviews |
Hacking JavaScript Objects (by) | | 582 |
objects |
The “Array.prototype.at()” Method in Vanilla JavaScript (by) | | 581 |
|
Statements vs. Expressions (by) | | 580 |
comparisons |
Integer Math in JavaScript (by) | | 579 |
math |
JavaScript Obfuscation Techniques by Example | | 578 |
obfuscation, techniques, examples |
Frontend Web Performance: The Essentials | | 577 |
performance |
Using JavaScript to Fill localStorage to Its Maximum Capacity (by) | | 576 |
storage |
Stop the Screen Going to Sleep With JavaScript (by) | | 575 |
|
In Defense of Blocks for Local Scopes (by) | | 574 |
scope |
In Defense of Blocks for Local Scopes II (by) | | 573 |
scope |
Svelte Origins: A JavaScript Documentary (via) | | 572 |
videos, svelte |
Future Features of JS (by/via) | | 571 |
videos |
How to Remove 99% of JavaScript From Main Thread (by/via) | | 570 |
videos, how-tos, performance |
You Don’t Need a JavaScript Library for Your Components | | 569 |
libraries, components |
Understanding the JavaScript Window Object (by/via) | | 568 |
objects |
Modern JavaScript, 10 Things You Should Be Using, Starting Today (by/via) | | 567 |
|
AbortController Is Your Friend (by) | | 566 |
|
Patterns for Building JavaScript Websites in 2022 (by/via) | | 565 |
frameworks, comparisons |
JavaScript Hydration Is a Workaround, Not a Solution (by/via) | | 564 |
hydration |
Optimize the Use of “if–else” | | 563 |
|
Mathematical Notation for JavaScript Developers Explained (by/via) | | 562 |
math |
Shallow Copy and Deep Copy (by) | | 561 |
|
Monorepos in JavaScript and TypeScript (by) | | 560 |
typescript, monorepos |
JavaScript of Halftone Printing | | 559 |
print |
Processing Arrays Non-Destructively: “for-of” vs. “.reduce()” vs. “.flatMap()” (by) | | 558 |
arrays, comparisons |
Understanding Weak Reference in JavaScript (by/via) | | 557 |
|
JavaScript Closures, Explained (by) | | 556 |
closures |
Snyk Finds 200+ Malicious npm Packages, Including Cobalt Strike Dependency Confusion Attacks (by/via) | | 555 |
npm, dependencies, security |
RFC 9239: Updates to ECMAScript Media Types (by) | | 554 |
mime-types |
Building a Button Component (by/via) | | 553 |
components, html, css, buttons |
Reduce Array of Objects to an Object in JavaScript (by) | | 552 |
arrays, objects |
Does JavaScript Make My Site Less Accessible? (via) | | 551 |
accessibility, wcag |
How to Use Google CrUX to Analyze and Compare the Performance of JS Frameworks (by/via) | | 550 |
how-tos, performance, google, metrics, frameworks |
How to Learn JavaScript Fast: Six Simple Mind Tricks (by/via) | | 549 |
how-tos, tips-and-tricks, learning |
You Don’t Need “void 0” (by/via) | | 548 |
|
The Road to Universal JavaScript (by) | | 547 |
|
Fetch API Is [the] New Old Version of AJAX (by) | | 546 |
data-fetching, apis, ajax |
Master Higher-Order Functions in JavaScript (by/via) | | 545 |
functions |
JavaScript Containers (by) | | 544 |
visions |
8 JavaScript Quiz [Questions] That May Confuse You (via) | | 543 |
interviewing |
CTA Modal: How to Build a Web Component (by/via) | | 542 |
how-tos, web-components, modals |
Common Frontend Interview Questions I’ve Been Asked | | 541 |
interviewing, html |
Web Scraping via JavaScript Runtime Heap Snapshots (by) | | 540 |
scraping, memory |
Learn to Code With JavaScript: The Most Popular Programming Language on Earth (by/via) | | 539 |
learning |
What Is Memoization? How and When to Memoize in JavaScript and React (by/via) | | 538 |
memoization, react |
Four Eras of JavaScript Frameworks (by) | | 537 |
frameworks, history |
Build a Lightweight Web Component With Lit.js (by/via) | | 536 |
web-components |
Faster Initialization of Instances With New Class Features (by/via) | | 535 |
browsers, javascript-engines, v8, performance |
The Ultimate Guide to Optimizing JavaScript for Quick Page Loads (by/via) | | 534 |
guides, performance, optimization |
Building a Dialog Component (by/via) | | 533 |
components, modals, html, css |
JavaScript Function Composition: What’s the Big Deal? (by) | | 532 |
functions |
33 JavaScript Concepts Every Developer Should Know (by) | | 531 |
concepts |
JavaScript and Node.js Testing Best Practices (by) | | 530 |
nodejs, testing, best-practices |
Locale Aware Sorting in JavaScript (by) | | 529 |
sorting, localization, internationalization |
14 Linting Rules to Help You Write Asynchronous Code in JavaScript (by) | | 528 |
asynchronicity, linting |
When to Use a Function Expression vs. Function Declaration (by/via) | | 527 |
functions, comparisons |
Conquering JavaScript Hydration (by/via) | | 526 |
hydration |
Performance Tests on Common JavaScript Array Methods (by/via) | | 525 |
performance, testing, arrays |
How to Make a Drag-and-Drop File Uploader With Vue.js 3 (by/via) | | 524 |
how-tos, file-handling, vuejs |
Building a Loading Bar Component (by/via) | | 523 |
components, html, css |
Accessibility, Assistive Technology, and JavaScript (by) | | 522 |
accessibility, assistive-tech |
A Quick Guide to Closures (by) | | 521 |
guides, closures |
Implementing JavaScript Delay for Cookie Consent Banner (by) | | 520 |
cookies, consent-management, legal |
How to Automatically Size a Textarea Based on Its [Text] Using Vanilla JavaScript (by) | | 519 |
how-tos, html |
Horizontal Scrolling Nav (by) | | 518 |
scrolling |
Can I Use Hover on Touch Devices? Here’s [a] CSS and JS Hack (by/via) | | 517 |
css, mobile |
CommonJS (CJS) and Modules (ESM): Import Compatibility (by) | | 516 |
typescript, commonjs, esm |
Arrow Functions in JavaScript: How to Use Fat and Concise Syntax (by/via) | | 515 |
how-tos, functions |