In the last couple of years, JavaScript is always one of the most popular programming languages. In fact, it's the top programming language on Github, according to the number of active repositories. JavaScript is a client-side programming language that runs inside a client browser and process commands on client computer rather than server. But since the born of NodeJS, we can run JavaScript on the server and build websites or highly scalable web applications and software by JavaScript. There is no doubt that JavaScript will be the leading technology in the next several years.
If you are looking to grow your career, or desire to work in IT field then you can't miss out on JavaScript. It's not only a great fun to learn JavaScript, but also a rewarding career with bright future prospects. That explains the huge number of online JavaScript courses as well as books, online training videos, and tutorials. Some of them are expensive, some are not. To make it easier for you, we've compiled 118+ best free resources to learn JavaScript that will get you started by teaching all essential aspects of JavaScript and get you programming instantly.
Note that this list doesn't contain materials for JavaScript libraries or frameworks. Only pure JavaScript!
E-books
- Eloquent JavaScript by Marijn Haverbeke
- JS: The Right Way by William Oliveira
- You Don't Know JavaScript by Kyle Simpson
- Patterns.dev by Addy Osmani
- JavaScript Succinctly by Code Lindley (need to register a free account)
- Exploring JS by Dr. Axel Rauschmayer
- JavaScript Allongé, the "Six" Edition by Reg "raganwald" Braithwaite
- Human JavaScript By HenrikJoreteg
- Understanding ECMAScript 6 by Nicholas C. Zakas
- JavaScript in 10 Minutes by Spencer Tipping
- JavaScript Challenges by Tomás Corral
- Single page apps in depth by Mixu
- Building A JavaScript Framework
- Promise cookbook
- JavaScript Bible (PDF)
- JavaScript Essentials
- JavaScript Fundamentals, Plus a Dash Of JQuery by Nicholas Johnson
- JavaScript Spessore - Reginald Braithwaite
- JS Robots (PDF)
- Managing Space and Time with JavaScript - Book 1: The Basics - Noel Rappin
- The Problem with Native JavaScript APIs by Nicholas C. Zakas
- Test Driving JavaScript Book by Rob Levin
- JavaScript by WikiBook
- Setting up ES6 by Axel Rauschmayer (updated Jan 10, 2016)
Videos
- Free JavaScript videos at egghead.io
- Free JavaScript tutorials at Udemy.com
- Free JavaScript videos at LearnCode.academy Youtube Channel
- JavaScript - The Good Parts by Douglas Crockford and all of his NEW videos on Youtube
- The JavaScript Programming Language by Douglas Crockford (Part 1 | Part 2 | Part 3 | Part 4)
- Advanced JavaScript by Douglas Crockford (Part 1 | Part 2 | Part 3)
- The Definitive Guide to Object-Oriented JavaScript
- Eliminate JavaScript Code Smells by Elijah Manor
- Maintainable JavaScript by Nicholas Zakas
- Learning to Love JavaScript by Alex Russell
- Scalable JavaScript Application Architecture by Nicholas Zakas (Slide here)
- Using ECMAScript 6 today by Dr. Axel Rauschmayer: Part 1 | Part 2
- JavaScript in 2015 by Glen Maddern
- What the... JavaScript? Kyle Simpson
- JavaScript State of the Union by Geoff Schmidt
- JavaScript for Everybody by Marcy Sutton
- A JavaScript Web App Deconstructed by Alex MacCaw
- Rethinking Best Practices by Pete Hunt
- Making JS More Learnable by Pamela Fox
- Develop High Performance Sites and Apps with JavaScript and HTML5 Dr. Doris Chen
- JavaScript from Null by Jeffrey Way
Podcasts
Slides
- Learning Advanced JavaScript by John Resig
- Maintainable JavaScript by Nicolas Zakas
- High performance JavaScript by Nicolas Zakas
- JavaScript Variable Performance by Nicolas Zakas
Newsletters
- JavaScript Weekly by Peter Cooper
- Echo JS
- JavaScript Live
- JavaScriptKicks
- FiveJS (5 minutes of JavaScript)
Coding styles
- Principles of Writing Consistent, Idiomatic JavaScript
- Google JavaScript Style Guide by Google
- Code Conventions for the JavaScript Programming Language by Douglas Crockford
- Felix's Node.js Style Guide by Felix Geisendörfer
- AirBnB JavaScript Style Guide
- JavaScript Standard Style
- bevacqua's JavaScript style guide
- HapiJS style guide
- Khan JavaScript style guide
- Mozilla pdf.js style guide
- JavaScript Standard Style
Further JavaScript learning and reading resources
- JavaScript For Cats by Max Ogden
- Try JavaScript
- How to Learn JavaScript Properly by Richard Bovell
- You Might Not Need jQuery (updated February 1, 2016)
- JavaScript at Mozilla Development Network, especially their A Re-introduction to JavaScript
- Learn JavaScript by Example by Learneroo
- LearnXinYminutes where X = JavaScript
- Learn JS
- A Dive Into Plain JavaScript
- Superhero.js
- JavaScript Module Pattern: In-Depth
- A JavaScript Module Pattern by YUI Team
- Writing Modular JavaScript With AMD, CommonJS & ES Harmony by Addy Osmani
- The offline cookbook by Jake Archibald
- JavaScript Promises: There and back again by Jake Archibald
- JavaScript Patterns by Shi Chuan
- WTF JS
- Learn to Code JavaScript by Playing a Game
- Patterns For Large-Scale JavaScript Application Architecture - Addy Osmani
- The JavaScript Tutorial
- Understanding JavaScript OOP by Sorella
- JavaScript – How Prototypal Inheritance really works by Vjeux
- JavaScript by Douglas Crockford
- Learn JavaScript by Didacto
- comp.lang.javascript FAQ
- Learn Harmony (ECMAScript)
- ES6 Katas
Other awesome JavaScript lists
- Free JavaScript books by revolunet
- Awesome JavaScript by sorrycc
- Awesome promises by wbinnssmith
- Lists by jnv
- JS must watch by bolshchikov
- Must watch JavaScript by AllThingsSmitty
- Awesome JavaScript books by heatroom
- Awesome style guides by RichardLitt
- Free programming books by vhf
P/S: We also have a list of newsletters that developer should subscribe to. There are many source to learn including JavaScript.