5 Exciting New JavaScript Features in 2024 (by/via) | | 1017 |
|
Comparing JavaScript Frameworks: Templates (by) | | 1016 |
frameworks, templates, comparisons |
Things I Learned While Building My JS Library (by) | | 1015 |
libraries, lessons |
JavaScript Runs the World—Maybe Even Literally (by/via) | | 1014 |
programming, web |
The Faster Lambda Runtime—Node.js or LLRT? We Benchmarked (by) | | 1013 |
aws, runtimes, nodejs, comparisons, metrics |
Eloquent JavaScript (by) | | 1012 |
websites, books |
Introducing JSR—the JavaScript Registry (by+/via) | | 1011 |
introductions, jsr, deno, dependencies |
TIL—“submit()” Versus “requestSubmit()” (by) | | 1010 |
comparisons |
A Fun Line of Code (by) | | 1009 |
apis, multimedia |
What Is a Single-Page Application? (by) | | 1008 |
single-page-apps, performance, user-experience |
Filling Gaps With a Polyfill (by) | | 1007 |
polyfills, html, css, history |
Vanilla JavaScript, Libraries, and the Quest for Stateful DOM Rendering (via) | | 1006 |
libraries, client-side-rendering, state-management |
JSR: What We Know So Far About Deno’s New JavaScript Package Registry (by/via) | | 1005 |
jsr, deno, dependencies |
JavaScript Bloat in 2024 (by) | | 1004 |
performance |
Control Lazy Load, Infinite Scroll, and Animations in React (by/via) | | 1003 |
react, lazy-loading, scrolling, animations |
How to Make a Cursor Image Hover Effect With CSS and JS (by) | | 1002 |
how-tos, css, images, cursors |
Why Is JavaScript Fragile? (by) | | 1001 |
|
“random()” Distribution Visualizer (by) | | 1000 |
randomness, visualization |
17 Equations That Changed the World—Rewritten in JavaScript (via) | | 999 |
math |
JavaScript Workers (by) | | 998 |
videos, web-workers |
JavaScript on Demand: How Qwik Differs From React Hydration (by/via) | | 997 |
qwik, react, hydration, comparisons |
Top 20 JavaScript One-Liners That Don’t Actually Work (by) | | 996 |
|
Be Aware of Arrays—V8 Engine Advice | | 995 |
javascript-engines, v8, arrays |
The ü/ü Conundrum (by) | | 994 |
unicode, encoding |
Offloading JavaScript With Custom Properties (by) | | 993 |
css, custom-properties |
Immutable Array Updates With “Array.prototype.with” (by/via) | | 992 |
arrays, browsers, support |
JavaScript vs. Python: Which One Should You Learn First? (by/via) | | 991 |
python, comparisons |
JavaScript Promises Demystified (by+/via) | | 990 |
promises |
In Praise of the “switch” Statement (by) | | 989 |
|
Detect Caps Lock With JavaScript (by) | | 988 |
|
From Many to One: Moving Our JavaScript Code Into a Monorepo (via) | | 987 |
migrating, monorepos, git |
Web Components in Earnest (by) | | 986 |
web-components |
What Is JSDoc and Why You May Not Need TypeScript for Your Next Project (by) | | 985 |
typescript, documentation, jsdoc |
The Bun Shell (by/via) | | 984 |
bun, shell |
Create a Currency Converter With HTML, CSS, and Vanilla JavaScript (by/via) | | 983 |
functionality, html, css |
Dispatching an Event (by/via) | | 982 |
events |
Safely Accessing the DOM With Angular SSR (by/via) | | 981 |
security, dom, angular, server-side-rendering |
JavaScript Array “sort()” vs. “toSorted()” (New in ES 2023) (by) | | 980 |
videos, arrays, sorting, comparisons |
The Golden Rule of Assertions (by/via) | | 979 |
testing |
Difference Between “getElementByID” and “querySelector” (by) | | 978 |
css, selectors |
Web Component Gotcha: “constructor” vs. “connectedCallback” (by) | | 977 |
web-components, callbacks, comparisons |
JS Perf Wins and New Node.js Features With Yagiz Nizipli (by+/via) | | 976 |
podcasts, performance, nodejs, optimization |
console.delight (by/via) | | 975 |
console, browsers, dev-tools, debugging |
Using CSS Houdini to Extend Styling and Layout Capabilities (via) | | 974 |
css, houdini, apis |
Introducing fsx: A Modern Filesystem API for JavaScript (by) | | 973 |
introductions, file-handling, apis |
Understanding Immutability in JavaScript (by) | | 972 |
videos |
Declaring Globals Isn’t That Hard (by) | | 971 |
videos, typescript |
Weird Things Engineers Believe About Web Development (by) | | 970 |
standards, web-apps, building, web-platform |
Mastering Promises: 8 Advanced Tips and Techniques (by/via) | | 969 |
promises, asynchronicity, techniques, tips-and-tricks |
A Lot of What People Use React for Would Be Better Handled With Vanilla JavaScript (by) | | 968 |
react, simplicity |
2024 Predictions by JavaScript Frontend Framework Maintainers (by/via) | | 967 |
visions, frameworks, angular, nextjs, react, solidjs |
10 Interview Questions Every JavaScript Developer Should Know in 2024 (by/via) | | 966 |
interviewing, career, concepts, terminology |
Let’s Bring Back JavaScript’s “with()” Statement (by) | | 965 |
|
Making Sense of “Senseless” JavaScript Features (by) | | 964 |
|
CSS-in-JS Approach: Advantages, Disadvantages, and Use Cases | | 963 |
css-in-js, css |
JS Design Patterns: A Comprehensive Guide (by) | | 962 |
guides, software-design-patterns |
I Built the Same App 7 Times: Which JS Framework Is Best? (by) | | 961 |
frameworks, comparisons |
The Devil Is in the Details: A Look Into a Disclosure Widget Markup (by/via) | | 960 |
html, css |
FileReader API (by/via) | | 959 |
apis, file-handling |
Custom Mouse Hover Effect With JavaScript | | 958 |
effects |
JavaScript Frameworks—Heading Into 2024 (by/via) | | 957 |
frameworks, visions |
Classes vs. Prototypes in JavaScript (by) | | 956 |
comparisons |
10 Ways to Speed Up JavaScript Loading (by) | | 955 |
performance, lazy-loading, minification, bundling, code-splitting, tree-shaking, modules, content-delivery, caching, compression, auditing |
View Transitions (by/via) | | 954 |
css, transitions |
New JS Array Methods (by/via) | | 953 |
arrays |
Sharing a State Between Windows Without a Server (by) | | 952 |
web-workers, apis, state-management, effects |
Introducing JavaScript Support in MySQL (by+/via) | | 951 |
introductions, databases, mysql, support |
Christmas Tree Animations Made With CSS and JS | | 950 |
css, animations, effects, link-lists |
V8 Is Faster and Safer Than Ever (by/via) | | 949 |
javascript-engines, v8, webassembly |
Embrace the Platform (by/via) | | 948 |
web-platform, html, css, resilience, progressive-enhancement, craft |
Test-Driven HTML and Accessibility (by/via) | | 947 |
html, accessibility, testing |
Extending Responsive Video With HTML Web Components (by/via) | | 946 |
multimedia, responsive-design, web-components |
Asynchronous JavaScript—How to Use Promises in Your JS Code (by/via) | | 945 |
how-tos, promises, asynchronicity |
The “await” Event Horizon in JavaScript (by/via) | | 944 |
events |
Behavior Belongs in the HTML (by) | | 943 |
html, principles |
A List of JavaScript Engines, Runtimes, Interpreters | | 942 |
javascript-engines, runtimes, link-lists |
The Last 5 Years of V8’s Garbage Collector (by) | | 941 |
javascript-engines, v8, garbage-collection, concurrency, history |
Stop Nesting Ternaries in JavaScript (by/via) | | 940 |
operators |
Custom Events in Web Components (by) | | 939 |
web-components, events |
How Marketing Changed OOP in JavaScript (by/via) | | 938 |
marketing, oop, software-design-patterns |
You Don’t Need JavaScript for That (by/via) | | 937 |
|
Let’s Learn How Modern JavaScript Frameworks Work by Building One (by) | | 936 |
frameworks, reactivity, rendering, dom |
Fastest Way of Passing State to JavaScript, Re-Visited (by/via) | | 935 |
state-management, performance |
10 JavaScript Changes You Missed in 2023 (by/via) | | 934 |
videos, retrospectives |
Web Components Eliminate JavaScript Framework Lock-In (by) | | 933 |
web-components, frameworks, maintainability |
Kicking the Excessive JavaScript Habit (by/via) | | 932 |
performance, developer-experience, user-experience |
OOP Design Patterns in JavaScript (by) | | 931 |
oop, software-design-patterns |
State of JavaScript 2023 (by/via) | | 930 |
surveys |
Top 10 Most Popular JavaScript Frameworks to Choose in 2024 | | 929 |
frameworks, react, angular, vuejs, nodejs, express, meteor, nextjs, emberjs, backbone, svelte |
The Unbearable Weight of Massive JavaScript (by/via) | | 928 |
videos, frameworks, performance |
Demystifying Web Push Notifications (by) | | 927 |
notifications |
HTML Web Components Are Just JavaScript? (by/via) | | 926 |
web-components, html |
What Is Transpiling in JavaScript? (via) | | 925 |
videos, ecmascript, transpiling, babel |
Exploring V8’s Strings: Implementation and Optimizations (by) | | 924 |
javascript-engines, v8, optimization |
NaN or Not a Number? (by/via) | | 923 |
|
ES6 Features You Didn’t Know You Needed: A JavaScript Guide for Beginners (via) | | 922 |
guides |
How to Use Timeouts in Node.js (by/via) | | 921 |
how-tos, nodejs |
Handling Null, Undefined, and Zero Values in JavaScript (by/via) | | 920 |
|
How to Use npm Packages Outside of Node (via) | | 919 |
how-tos, npm, dependencies |
How to Do a TypeScript Conversion (by) | | 918 |
how-tos, typescript, migrating, conversion, refactoring |
Speeding Up the JavaScript Ecosystem—Tailwind CSS (by) | | 917 |
performance, tailwind |
Personal-Scale Web Scraping for Fun and Profit | | 916 |
scraping, functionality, optimization |
Blinded by the Light DOM (by) | | 915 |
web-components, dom, shadow-dom |
A Complete Guide to LangChain in JavaScript (by/via) | | 914 |
guides, langchain, frameworks |
Why Signals Are Better Than React Hooks (by) | | 913 |
videos, signals, react, hooks, comparisons |
Don’t Disable Buttons (by) | | 912 |
buttons, accessibility |
Keep Pace With Modern JavaScript (by) | | 911 |
link-lists |
Arrays—Implementation in JavaScript (by) | | 910 |
arrays |
Web Components Will Outlive Your JavaScript Framework (by) | | 909 |
web-components, frameworks |
What Removing Object Properties Tells Us About JavaScript (by/via) | | 908 |
objects |
Unlocking JavaScript Design Patterns: Mastering Singleton for Ultimate Code Efficiency (by) | | 907 |
software-design-patterns, efficiency |
JavaScript Is Enabled by Default in Web Browsers (by) | | 906 |
web-platform, permissions |
JavaScript Decorators: An In-Depth Guide (by/via) | | 905 |
guides |
JavaScript Anti-Pattern: Self-Documenting Code (by) | | 904 |
anti-patterns, documentation |
Changing Colors in an SVG Element Using CSS and JavaScript (by) | | 903 |
svg, colors, css |
How to Map a Number Between Two Ranges (by) | | 902 |
how-tos, math |
Solid.js Creator Outlines Options to Reduce JavaScript Code (by/via) | | 901 |
performance |
Start Styling Your “console.log()” Messages in DevTools (by/via) | | 900 |
videos, console, browsers, dev-tools |
The Nuances of Base64 Encoding Strings in JavaScript (by) | | 899 |
encoding |
“JavaScript Is Weird” as a Compressor (by) | | 898 |
compression |
Let’s Prototype a JavaScript JIT Compiler (by) | | 897 |
videos, compiling, prototyping |
The Global “innerWidth” and “innerHeight” Properties Return the Width and Height of the Layout Viewport (by/via) | | 896 |
viewport, interoperability, webkit |
Speeding Up the JavaScript Ecosystem—the Barrel File Debacle (by) | | 895 |
performance, architecture |
How Did You Switch From JavaScript to TypeScript? | | 894 |
discussions, typescript, migrating |
An Interactive Intro to CRDTs (by) | | 893 |
introductions, data-types |
Your Website Does Not Need JavaScript (by/via) | | 892 |
videos, support |
Comparing JavaScript Bundlers: Rollup vs. Webpack vs. Parcel (by/via) | | 891 |
bundling, tooling, rollup, webpack, parcel, comparisons |
All the Ways to Turn an Array Into an Object in JavaScript (by) | | 890 |
arrays, objects |
Test Assertion Styles in JavaScript (by) | | 889 |
testing |
A Socket API That Works Across JavaScript Runtimes—Announcing a WinterCG Spec and Node.js Implementation of “connect()” (by+/via) | | 888 |
runtimes, apis |
A Comprehensive Guide to the Dangers of Regular Expressions in JavaScript (by/via) | | 887 |
guides, security, regex |
What Is Transpiling? | | 886 |
ecmascript, transpiling, babel |
The Saga of the Closure Compiler, and Why TypeScript Won (by) | | 885 |
compiling, typescript, history |
Stop Using JS for That: Moving Features to CSS and HTML (by/via) | | 884 |
videos, css, html |
Mastering Closures in JavaScript: A Comprehensive Guide (by) | | 883 |
guides, closures, scope |
How to Escape CSS Selectors in JavaScript (by) | | 882 |
how-tos, css, selectors, escaping |
The Great JavaScript Divide: CommonJS vs. ES Modules (by/via) | | 881 |
modules, commonjs, esm, comparisons |
What Is Strict Mode in JavaScript? | | 880 |
|
The Character Encoding Cheat Sheet for JS Developers (by/via) | | 879 |
encoding, unicode, cheat-sheets |
Speeding Up the JavaScript Ecosystem—Polyfills Gone Rogue (by) | | 878 |
performance, polyfills |
What Can You Do With “data” Attributes? (by) | | 877 |
html |
Understanding the JavaScript Modulo Operator (by) | | 876 |
math |
Arrow Functions vs. Traditional Functions in JavaScript (by) | | 875 |
videos, functions, comparisons |
The JS Community on Twitter Is Dead (by) | | 874 |
social-media, community |
Writing Clean Code: Best Practices and Principles (by) | | 873 |
best-practices, principles, conventions, formatting, maintainability |
JavaScript Is Getting Array Grouping Methods (by) | | 872 |
arrays |
Use Cases for IIFEs (by) | | 871 |
|
JPEG and EXIF Data Manipulation in JavaScript (by/via) | | 870 |
jpeg, metadata |
Discover Bun—a Faster, Modern JavaScript Runtime (by) | | 869 |
bun, runtimes |
Bun, JavaScript, and TCO (by) | | 868 |
bun, optimization |
JavaScript WTF: Why Does “every()” Return “true” for Empty Arrays? (by) | | 867 |
|
A New Method to Validate URLs in JavaScript (by) | | 866 |
validation, urls |
The “Array.prototype.every()” Method Always Returns “true” for an Empty Array (by) | | 865 |
arrays |
Delay, Sleep, Pause, and Wait in JavaScript (by/via) | | 864 |
|
Using Labeled Loops in JavaScript (by) | | 863 |
|
Node.js vs. Deno vs. Bun: JavaScript Runtime Comparison (via) | | 862 |
nodejs, deno, bun, runtimes, comparisons |
Clocks and Countdowns: Timing in CSS and JavaScript (by) | | 861 |
css |
Visualizing Recursion With the Sierpinski Triangle (by) | | 860 |
algorithms, visualization |
Scope vs. Shadow DOM (by) | | 859 |
shadow-dom, dom, scope, css, comparisons |
Catching Errors Thrown From “connectedCallback” (by) | | 858 |
web-components, errors |
Patterns for Reactivity With Modern Vanilla JavaScript (by/via) | | 857 |
reactivity |
Demystifying CORS: Understanding How Cross-Origin Resource Sharing Works | | 856 |
security, cors |
Adding a “Share to Mastodon” Link to Any Web Site (by) | | 855 |
social-media, links, mastodon, community |
A Better “setTimeout()” in JavaScript (by) | | 854 |
|
A Guide to Optimizing JavaScript Files (by/via) | | 853 |
guides, performance, optimization, minification, compression |
Progressively Enhanced Form Validation: Layering in JavaScript (by/via) | | 852 |
forms, validation, progressive-enhancement |
An Intro to State-Based UI With JavaScript (by) | | 851 |
introductions, state-management |
A Compilation of Outstanding Testing Articles (With JavaScript) (by/via) | | 850 |
link-lists, testing |
Prepare to Spy on a Method Added Dynamically (by) | | 849 |
videos, cypress, testing, debugging |
Evading JavaScript Anti-Debugging Techniques (by/via) | | 848 |
debugging |
Front End Practice: Top 25+ JavaScript Code Best Practices for Development | | 847 |
best-practices |
Run JavaScript/WASM in Python: High-Level SpiderMonkey Bindings to Python With PythonMonkey | | 846 |
webassembly, python |
Speeding Up V8 Heap Snapshots (by/via) | | 845 |
javascript-engines, v8, performance, memory |
Promises Training (by) | | 844 |
promises, training, courses |
Combining Data With Multiple Fetch Requests (by) | | 843 |
arrays, data-fetching |
10 Simple CSS and JavaScript Micro-Interactions for Buttons (by/via) | | 842 |
css, buttons, effects |
Anyone Else Notice That [Hacker News] Isn’t Full of JavaScript Frameworks Lately? | | 841 |
discussions, frameworks |
5 Inconvenient Truths About TypeScript (by) | | 840 |
typescript, complexity |
Lightweight JavaScript Framework Review (for Django Developers) (by) | | 839 |
frameworks, comparisons, link-lists, django |
A Case Study on Scroll-Driven Animations Performance (via) | | 838 |
animations, scrolling, performance, css |
Tree Shaking in JavaScript (by) | | 837 |
performance, tree-shaking |
JavaScript Debounce, Easiest Explanation (With Code) | | 836 |
debouncing |
All the Places Where You Can Use “prefers-color-scheme” Media Query (by) | | 835 |
css, media-queries, html, dark-mode |
In Defence of “DOMContentLoaded” (by) | | 834 |
dom, performance |
CommonJS Is Hurting JavaScript (by/via) | | 833 |
commonjs |
JavaScript Gom Jabbar (by) | | 832 |
|
JavaScript Console Methods: A Deep Dive (by) | | 831 |
console, debugging, deep-dives |
What’s Next for JavaScript: New Features to Look Forward To (by/via) | | 830 |
|
Demystifying JavaScript Operators: What Does That Symbol Mean? (by/via) | | 829 |
operators |
Converting [a] JavaScript Codebase to TypeScript (by/via) | | 828 |
typescript, migrating, refactoring |
An Introduction to Command Injection Vulnerabilities in Node.js and JavaScript (by) | | 827 |
introductions, security, vulnerabilities, nodejs |
The Cost of JavaScript 2023 (by) | | 826 |
videos, performance |
Using Multiple Selectors With JavaScript Selector Methods (by) | | 825 |
selectors |
Too Much JavaScript? Why the Frontend Needs to Build Better (by/via) | | 824 |
web-platform, performance |
Import Maps to Natively Import JavaScript Modules Using Bare Names (by) | | 823 |
import-maps |
Must Know JavaScript API—IndexedDB API (by/via) | | 822 |
databases, indexeddb, apis |
Reducing Complexity in Front End Development (by/via) | | 821 |
complexity, performance, css |
Primitive Objects in JavaScript: When to Use Them (via) | | 820 |
objects |
test262.fyi (by) | | 819 |
websites, ecmascript, javascript-engines, v8 |
The Many Ways to Select the n-th Character From a String (by) | | 818 |
|
Asynchronous JavaScript for Beginners (by+/via) | | 817 |
asynchronicity |
Why We Should Stop Using JavaScript According to Douglas Crockford (by/via) | | 816 |
videos |
21 Awesome Web Features You’re Not Using Yet (by/via) | | 815 |
videos, html, css |
An Introduction to JavaScript Proxies (by/via) | | 814 |
introductions |
I Think I Finally “Get” JS Objects (by) | | 813 |
objects |
Cracking the Theme Switcher and Dark Mode (by/via) | | 812 |
css, dark-mode |
Why Does “👩🏾🌾” Have a Length of 7 in JavaScript? (by) | | 811 |
unicode |
Plain Old JavaScript and the DOM (by) | | 810 |
dom |
How to Draw Any Regular Shape With Just One JavaScript Function (by/via) | | 809 |
how-tos, functions |
Working With URLs With Vanilla JavaScript (by) | | 808 |
urls |
Building Offline-First Web Applications With Service Workers and IndexedDB (by) | | 807 |
offline, web-apps, web-workers, databases, indexeddb |
Using “linear()” for Better Animation (by) | | 806 |
animations, css |
Write Better Code by Following These JavaScript Best Practices (by) | | 805 |
best-practices |
Getting an Item an Array With a Negative Index With Modern JavaScript (by) | | 804 |
arrays |
Get Full Type Support With Plain JavaScript (via) | | 803 |
|
An Introduction to the Bun JavaScript Runtime (by/via) | | 802 |
runtimes, bun |
The JavaScript Ecosystem Is Delightfully Weird (by/via) | | 801 |
|
Regular Expressions in JavaScript (by/via) | | 800 |
regex |
ES2023 Introduces New Array Copying Methods to JavaScript (by/via) | | 799 |
ecmascript, standards, arrays |
Script Evaluation and Long Tasks (by/via) | | 798 |
performance, web-vitals |
How to Configure Path Aliases in Frontend Projects in the Native Way | | 797 |
how-tos, aliases, configuration |
How Do You Declare Namespace in JavaScript? | | 796 |
namespaces |
How to Write More Efficient JavaScript Conditions (via) | | 795 |
how-tos, efficiency |
Detecting if an Event Was Triggered by a User or by JavaScript (by/via) | | 794 |
events |
Practical Guide to Not Blocking the Event Loop | | 793 |
guides, event-loop, events, performance |
My Favorite Free Courses to Learn JavaScript in Depth (by) | | 792 |
courses, training, link-lists |
Write Better CSS by Borrowing Ideas From JavaScript Functions (by/via) | | 791 |
css, functions, quality |
JS Private Class Fields Considered Harmful (by) | | 790 |
|
How to Deep Merge Arrays and Objects With JavaScript (by) | | 789 |
how-tos, arrays, objects |
Discovering the Power of JavaScript Proxy After All This Time (by) | | 788 |
|
The “const” Deception (by) | | 787 |
|
Exploring the Potential of Web Workers for Multithreading on the Web (by/via) | | 786 |
web-workers, multithreading, performance |
Read-Only Web Apps (by) | | 785 |
progressive-enhancement |
Introduction to Web Animations With GSAP (by) | | 784 |
introductions, animations, gsap |
Signals: Fine-Grained Reactivity for JavaScript Frameworks (by/via) | | 783 |
reactivity, signals, frameworks |
Speeding Up the JavaScript Ecosystem—Draft-js Emoji Plugin (by) | | 782 |
performance, plugins |
Consume Web Streams From OpenAI Using Vanilla JavaScript (by) | | 781 |
videos, data-fetching, streaming, ai |
4 Ways to Create an Enum in JavaScript (by) | | 780 |
|
How to Work With Dates and Times in Vanilla JavaScript (by) | | 779 |
how-tos |
Shallow vs. Deep Copying in JavaScript (by/via) | | 778 |
comparisons |
Boost Your JavaScript With JSDoc Typing (by) | | 777 |
typescript, documentation, jsdoc |
Programming-Language Popularity by GitHub Pull Requests (by) | | 776 |
studies, research, programming, comparisons, github, typescript |
Observing CSS (by) | | 775 |
css, monitoring |
JavaScript Memory Management: A Comprehensive Guide to Garbage Collection in JavaScript (via) | | 774 |
guides, memory, garbage-collection |
Copy to Clipboard in JavaScript and React (by) | | 773 |
react |
A Small JavaScript Pattern I Enjoy Using (by) | | 772 |
|
Why JavaScript Is a Prototype-Based OOP (by) | | 771 |
oop |
JavaScript Import Maps Are Now Supported Cross-Browser (by/via) | | 770 |
import-maps, browsers, support |
Defaulting on Single Page Applications (SPA) (by) | | 769 |
single-page-apps, performance |
Mastering the JavaScript “switch” Statement (by/via) | | 768 |
|