Skip to content
This repository
branch: master

You Don't Know JS (book series)

This is a series of books diving deep into the core mechanisms of the JavaScript language.

Please feel free to contribute to the quality of this content by submitting PR's for improvements to code snippets, explanations, etc. While typo fixes are welcomed, they will be caught through normal editing processes, and are thus not necessarily important for this repository.

To read more about the motivations and perspective behind this book series, check out the Preface.



These books are being released here as rough drafts, but will be edited, produced, and published through O'Reilly.

If you like the content you find here, and want to support more content like it, please purchase the books once they are available for sale, through your normal book sources. :)

If you'd like to contribute financially towards the effort (or any of my other OSS work) aside from purchasing the books, I do have a gittip that I would always appreciate your generosity towards.


The content for these books derives heavily from a series of training materials I teach professionally (in both public and private-corporate workshop format), called "Advanced JS: The 'What You Need To Know' Parts".

If you like this content and would like to contact me regarding conducting training on these, or other various JS/HTML5/node.js topics, please reach out to me through any of these channels listed here:


Any contributions you make to this effort are of course greatly appreciated.

However, if you choose to contribute content (not just typo corrections) to this repo, you agree that you're giving me a non-exclusive license to use that content for the book series, as I (and O'Reilly) deem appropriate. You probably guessed that already, but we just have to make the lawyers happy by explicitly stating it. So: blah, blah, blah... :)

License & Copyright

The materials herein are all (c) 2013-2014 Kyle Simpson, and are licensed under Creative Commons CC BY-NC-ND 3.0.

Something went wrong with that request. Please try again.