I first learned JavaScript by reading the Netscape JavaScript Reference manuals many years ago. They have undergone a number of transitions and transformations, this content lives on as MDN JavaScript Reference and Tutorials.
While the language and associated Web APIs contain far more content than in the late 90s, I still recommend browsing through MDN to new developers.
Known Unknowns
I don't expect any developer to know the entire spec from memory, especially as it grows and changes so fast. Just knowing these pages exist and browsing through the titles provides a chance to learn about features that sound interesting and, more importantly, to later spark a memory that something might exist. You don't have to master or even learn all the features, but having a vague idea of these known unknowns — things you know you don't know – can sometimes be the difference between minutes of targeted reading and hours or days of research.
Keeping Pace
The language changes quickly these days. There are browsers implementing different proposed solutions before they are part of the specification. Some of these have been deprecated over time, and knowing what to remove can be important, too.
Every year in June the ECMAScript specification is updated. Conveniently, the Introduction has a list of what is included in each annual update.
Then there are proposals for new features. Some proposals move through quickly, though some of these will never make it into the spec. They can be available months or years in advance through Babel plugins and other tools. Be aware that these allow you to write code that may never become valid JavaScript, but they can be useful for simplicity and readability, so long as you understand the requirements.
And when dealing with new features or broad browser support concerns, there's nothing like Can I use... to ensure support.
Web APIs
In addition to pure JavaScript, there are hundreds of Web APIs documented at MDN. These APIs cover everything from the DOM to Web Workers with great detail.
Scrolling through that list may seem daunting at first, but realize that there are "categories" with lots of members, so the list isn't as large as it might seem.
- Audio: 22
- CSS: 64
- GPU: 35
- RTC: 39
- SVG: 113
These API docs can be a huge time saver as they cover capabilities we use less frequently than JavaScript itself. You may never use the Beacon API for guaranteed send-and-forget analytics or user monitoring data, but knowing it exists can save a lot of time if you need to guarantee a request happens when a page is unloaded.
NodeJS
NodeJS is a hugely popular application and it provides excellent, detailed documentation. These docs can be a crucial time saver, especially making sure to reference the appropriate version. It can be helpful to compare the age of answers on platforms like StackOverflow against release versions to see if your Node release takes different options or provides different solutions.
Site Search Shortcuts
These days I regularly use the browser's built-in support for quick search/search shortcuts (Chrome, Firefox, Safari) by prefixing my requests with mdn
. This helps me avoid links to W3Schools or GeeksForGeeks, or whatever site has managed to ~game the search results~ assert search authority and land higher up in the results than the manual.
Always Another Resource
There are so many great sources of information out there and tools to improve the developer experience of documentation. Dash can make some of these online resources local for instant search and access on-the-go, if you prefer.
Sharing resources can help us all become better, more efficient developers. Let us know what tools and websites you use to stay up to date or learn more!
Top comments (0)