Last active
          October 21, 2025 17:24 
        
      - 
            
      
        
      
    Star
      
          
          (123)
      
  
You must be signed in to star a gist 
- 
              
      
        
      
    Fork
      
          
          (32)
      
  
You must be signed in to fork a gist 
- 
      
- 
        Save WebRTCGame/9fa80ed32a7413bd0f8d71304d6335eb to your computer and use it in GitHub Desktop. 
Revisions
- 
        WebRTCGame revised this gist Jul 7, 2016 . No changes.There are no files selected for viewing
- 
        WebRTCGame revised this gist Jul 7, 2016 . 1 changed file with 4 additions and 0 deletions.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,3 +1,7 @@ # Useful Links ### [MDN JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript) # 23 Free JavaScript Books A curated collection of awesome & free JavaScript books to help you learn the JavaScript programming language. 
- 
        WebRTCGame created this gist Jul 7, 2016 .There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,140 @@ # 23 Free JavaScript Books A curated collection of awesome & free JavaScript books to help you learn the JavaScript programming language. If you know of any other free JavaScript books that you think should be on this list, please let me know in the comments section and I will get them added. ## [Eloquent JavaScript](http://eloquentjavascript.net/) **Marijn Haverbeke** _Eloquent JavaScript_ intends to make you familiar enough with the JavaScript language to be able to make a computer do what you want. Besides explaining JavaScript, the book also will introduce the basic principles of programming. ## [Exploring ES6](http://exploringjs.com/es6/) **Dr. Axel Rauschmayer** _Exploring ES6_ is intended for people already familiar with JavaScript. It covers ECMAScript 6 in depth, but is structured so that you can also quickly get an overview if you want to. It not only tells you how ES6 works, it also tells you why it works the way it does. ## [Google JavaScript Style Guide](https://google.github.io/styleguide/javascriptguide.xml) The _Google JavaScript Style Guide_ holds the style guidelines that Google uses internally for their JavaScript code. ## [Human JavaScript](http://read.humanjavascript.com/) **Henrik Joreteg** _Human JavaScript_ is a book about a specific set of tools, patterns, and approaches that the author feels are optimized for people. These approaches enable the team at **&yet**, a small consulting and product company, to quickly build and deliver high-quality JavaScript applications for humans. ## [JavaScript Allongé](https://leanpub.com/javascriptallongesix/read) **Reginald Braithwaite** _JavaScript Allongé_ is a first and foremost, a book about programming with functions. It’s written in JavaScript, because JavaScript hits the perfect sweet spot of being both widely used, and of having proper first-class functions with lexical scope. It teaches you how to handle complex code, and it also teaches you how to simplify code without dumbing it down. ## [JavaScript Enlightenment](http://www.javascriptenlightenment.com/JavaScript_Enlightenment.pdf) **Cody Lindley** An accurate JavaScript worldview through an examination of native JavaScript objects and supporting nuances: complex values, primitive values, scope, inheritance, the head object, etc. ## [JavaScript for Cats](http://jsforcats.com/) **Max Ogden** _JavaScript for Cats_ is an introduction to JavaScript for new programmers. ## [JavaScript plus a dash of jQuery](http://nicholasjohnson.com/javascript-book/) **Nicholas Johnson** _JavaScript plus a dash of jQuery_ covers the very basics of JavaScript from the ground up. These are the fundamentals that you will need to know to do the fancy schmancy stuff that you’re probably quite keen to get started on. ## [JavaScript Garden](http://bonsaiden.github.io/JavaScript-Garden/) **Ivo Wetzel, Zhang Yi Jiang, Tim Ruffles** _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 and subtle bugs, as well as performance issues and bad practices, that non-expert JavaScript programmers may encounter on their endeavors into the depths of the language. It 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. ## [JavaScript IRL](http://markdaggett.com/images/ExpertJavaScript-ch6.pdf) **Mark Daggett** This is not an entire book, but a single chapter from the book _Expert JavaScript_. The bulk of this chapter covers the ways in which you can interact with the world around you using machines that listen to JavaScript. ## [JavaScript Patterns Collection](http://shichuan.github.io/javascript-patterns/) **Shi Chuan** _JavaScript Patterns Collection _is a JavaScript pattern and antipattern collection that covers function patterns, jQuery patterns, jQuery plugin patterns, design patterns, general patterns, literals and constructor patterns, object creation patterns, code reuse patterns, DOM and browser patterns. ## [JavaScript Spessore](https://leanpub.com/javascript-spessore/read) **Reginald Braithwaite** In _JavaScript Spessore_, you will learn to implement several different kinds of object-oriented programming language semantics, in JavaScript. It is written for the reader who has read _JavaScript Allongé_ or has equivalent experience with JavaScript, especially as it pertains to functions, closures, and prototypes. ## [JavaScript: The Right Way](http://jstherightway.org/) **William Oliveira and Allan Esquina** _JavaScript: The Right Way_ is an easy-to-read, quick reference for JavaScript best practices and accepted coding standards. It is intended to introduce new developers to JavaScript and help experienced developers learn more about its best practices. Despite the name, this guide doesn’t necessarily mean “the only way” to do JavaScript. ## [Learning JavaScript Design Patterns](https://addyosmani.com/resources/essentialjsdesignpatterns/book/) **Addy Osmani** _Learning JavaScript Design Patterns_ explores applying both classical and modern design patterns to the JavaScript programming language. It is targeted at professional developers wishing to improve their knowledge of design patterns and how they can be applied to the JavaScript programming language. Some of the concepts covered (closures, prototypal inheritance) will assume a level of basic prior knowledge and understanding. ## [Master Space and Time With JavaScript](http://www.noelrappin.com/mstwjs/) **Noel Rappin** _Master Space and Time With JavaScript_ is a 4 book series that will help you come to to grips with modern JavaScript, including the JavaScript object model, testing, Backbone, and Ember. However, only _Book 1: The Basics_ is available for free. The other 3 books need to be purchased. ## [Mozilla Developer Network’s JavaScript Guide](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide) The JavaScript Guide shows you how to use JavaScript and gives an overview of the language. ## [Patterns For Large-Scale JavaScript Application Architecture](https://addyosmani.com/largescalejavascript/) **Addy Osmani** _Patterns For Large-Scale JavaScript Application Architecture_ is based on a talk the author presented at LondonJS. It discusses an effective set of patterns for large-scale JavaScript application architecture. ## [Programming JavaScript Applications](http://chimera.labs.oreilly.com/books/1234000000262/) **Eric Elliott** In _Programming JavaScript Applications_, author Eric Elliott shows you how to add client- and server-side features to a large JavaScript application without negatively affecting the rest of your code. ## [Speaking JavaScript](http://speakingjs.com/es5/) **Dr. Axel Rauschmayer** _Speaking JavaScript_‘s target audience is programmers who want to learn JavaScript quickly and properly, and JavaScript programmers who want to deepen their skills and/or look up specific topics. It has been written for programmers, by a programmer. You should already know object-oriented programming via a mainstream programming language such as [Java](https://hackerlists.com/free-java-books/), PHP, C++, Python, Ruby, Objective-C, C#, or Perl. ## [The JavaScript Tutorial](http://javascript.info/) **Ilya Kantor** HTML5 is great. jQuery is cool. Node.JS is awesome. Base them on the solid, powerful basement of pure JavaScript and you can rock the web! ## [The Problem with Native JavaScript APIs](http://chimera.labs.oreilly.com/books/1234000001655) **Nicholas C. Zakas** In _The Problem with Native JavaScript APIs_, Nicholas Zakas—consultant and former front-end tech leader at Yahoo!—provides a case study to show how different browsers can develop native APIs for the same specification and still end up with different interpretations. You’ll discover how these APIs can tie your code to specific browsers, forcing you to upgrade application logic whenever new browsers and new browser versions are released. ## [Understanding ECMAScript 6](https://leanpub.com/understandinges6/read) **Nicholas C. Zakas** _Understanding ECMAScript 6_ covers the changes brought about by the most recent major update to the JavaScript programming language: ECMAScript 6. ## [You Don’t Know JS (Book Series)](https://github.com/getify/You-Dont-Know-JS) **Kyle Simpson** _You Don’t Know JS_ is a series of books diving deep into the core mechanisms of the JavaScript language.