JavaScript Guide
JavaScript is the language of the web browser and, through Node.js, of a good deal of server code too. It is flexible and forgiving, which makes it easy to start and just as easy to write confusing code in. Most intermediate problems come from a short list of topics: how asynchronous code works, how objects and copies behave, how scope resolves, and how to handle errors without hiding them.
Learn the core language before any framework: variables and scope, functions, objects and arrays, the array methods that replace most loops, and modules. Then spend real time on asynchronous programming, because almost everything interesting in a browser, such as network requests, timers and user input, is asynchronous. After that, the browser APIs for storage, files and background work, plus a few well-chosen libraries, fill in the rest.
The reading list is arranged in that order: language fundamentals and patterns, asynchronous JavaScript, browser and platform features, and finally the libraries and tooling that come up in real projects. Library comparisons are snapshots of the year they were written, so check the current state of any project before you adopt it.
Reading list
Language fundamentals and patterns
How objects, copies, loops and newer language features really behave.
- JS Design Patterns
- JavaScript Pitfalls
- Copy Objects in JavaScript
- JavaScript Loop Differences: A Technical Breakdown
- Unlock Powerful Objects: 3 ES6 Proxy Hacks
- JavaScript Evolution: 4 Game-Changing Array Methods in ECMAScript 2023
- JavaScript’s Giant Leap: Mastering BigInt for Accurate Calculations
- JavaScript Immutability Showdown: Immer.js vs Structura.js
- JavaScript Sorting Mastery: Efficient Algorithms for Optimal Performance
Asynchronous JavaScript
Promises, async code and error handling.
- Mastering Asynchronous JavaScript: Unlocking Context Control
- Unlocking Asynchronous Programming with JavaScript Promises
- Master Async Programming: Unlock JavaScript Promises
- Mastering Error Handling with JavaScript’s Either Monad
Browser and platform features
Storage, workers, files and internationalization.
- Mastering localStorage in JavaScript
- Web Worker Real-Time Processing
- Download Files in Browser: A Step-by-Step Guide
- Build a File Upload Service with JavaScript: A Step-by-Step Guide
- JavaScript Internationalization: A Complete Guide to `toLocaleString`
- Extract Text from Images with JavaScript
Libraries and tooling
Comparisons of the libraries and tools you are likely to meet.
- Introduction to Alpine JS
- Is jQuery Dead? The Future of JavaScript Libraries
- Top JavaScript Build Tools: Latest Trends & Essentials
- Top 7 JavaScript Date Libraries for Efficient Time Management
- Top 2021 JavaScript Data Visualization Libraries
- Top 5 JavaScript Chart Libraries for Data Visualization
- Catch JavaScript Errors Early: 11 Essential Static Analysis Tools
Want more? Browse every article in the JavaScript category.