Home

Awesome

JavaScript Garden

2024 update: this project has not been actively maintained in years. The original author took the site down in 2022 (no judgement - updating it would be a big project!). At that point it was already long out of date, e.g. missing the new language features from ES6 onwards.

Many excellent modern guides exist, e.g. Eloquent Javascript, or the MDN guide.

Thanks for all the maintainers and translators over the years!


JavaScript Garden is a growing collection of documentation about the most quirky parts of the JavaScript programming language. It gives advice to avoid common mistakes, subtle bugs, as well as performance issues and bad practices that non-expert JavaScript programmers may encounter on their endeavours into the depths of the language.

JavaScript Garden does not aim to teach you JavaScript. Former knowledge of the language is strongly recommended in order to understand the topics covered in this guide. In order to learn the basics of the language, please head over to the excellent guide on the Mozilla Developer Network.

The authors

This guide is the work of two lovely Stack Overflow users, Ivo Wetzel (Original English Language Version) and Zhang Yi Jiang (Design), and many others who've worked hard to provide translations or fixes.

It was maintained by Tim Ruffles from 2013-2020ish.

Contributing

Please submit fixes and translations as pull requests.

License

JavaScript Garden is published under the MIT license and hosted on GitHub. If you find errors or typos please file an issue or a pull request on the repository. You can also find us in the JavaScript room on Stack Overflow chat.