Learning Javascript
This section contains resources for learning how to program in Javascript.
Note this is a living document and is constantly being updated. Some things may come and go over time.
Beginner¶
A beginning Javascript programmer is someone that is new to the Javascript language and possibly programming. This set of resources spans learning what Javascript is and how it works in the browser to fundamental concepts of computer programming, computer science, and software engineering. Its best to have a good handle on the basics of HTML and CSS before learning Javascript.
Language¶
- Javascript (Mozilla)
- W3 Javascript Tutorial
- How Javascript Works
- Code Academy - Intro to JavaScript ($)
- Kahn Academy - Computer Programming
- Google Developers Training
- Javascript Basics: What is Javascript, really?
- JavaScript building blocks
- Javascript Basics (P5.js Wiki Reference)
DOM¶
Event Handlers¶
Books¶
- JavaScript: The Definitive Guide by David Flanagan
- Professional JavaScript for Web Developers by Nicholas C. Zaka
- Eloquent Javascript
- Object-Oriented JavaScript by Stoyan Stefanov and Kumar Chetan Sharma
- You Don't Know JS - A Github based book series on JavaScript.
JQuery¶
Tutorials¶
- Get Started with Debugging JavaScript in Chrome DevTools
- Vanilla Javascript by Traversy Media
- Javascripting (Nodeschool) - Learn JS / Terminal by playing with a node app. You need to know how to use npm and the terminal to run this.
- freeCodeCamp - Basic Javascript - 10 hrs of tutorials
- JavaScript Tutorial by Sololearn
Articles¶
- Learn to Code: 13 Tips that Could Save You Years of Effort
- 10 Priceless Resources for JavaScript Learners
Intermediate¶
An intermediate Javascript programmer understands parts of Javascript language of syntax (form) and semantics (meaning) and is interested in learning more about design patterns, best practices, libraries, frameworks, and alternative workflows.
Language¶
Regular Expressions¶
Tutorials¶
Regex Sandboxes¶
Books¶
- JavaScript Patterns by Stoyan Stefanov
- JavaScript Enlightenment: From Library User to JavaScript Developer by Cody Lindley
Data Structures and Algorithms¶
- Data Structures and Algorithms with JavaScript by Michael McMillan
- Introduction to Algorithms by Thomas H. Cormen et al
Package Management¶
- What are the best front-end package managers? - February 2018
- Guide to JavaScript frontend package managers - November 2015
JS UIs¶
Tutorials¶
Advanced¶
An advanced Javascript programmer understands how to utilize Javascript to solve technical and creative challenges by using existing tools and designing custom solutions.
Language¶
Design Patterns¶
- Learning JavaScript Design Patterns
- Pro JavaScript Design Patterns: The Essentials of Object-Oriented JavaScript Programming by Dustin Diaz and Ross Harmes
- Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma et al
- Writing Modular JavaScript With AMD, CommonJS & ES Harmony
Working with Modules¶
- RequireJS
- Module Best Practices - Writing JS Modules in Node/CommonJS