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.
Pro tip: If you don't have a sandbox environment to work out of you can get started quickly with any of these Javascript Sandboxes. Or you can build one.
Getting Started¶
- What is Javascript? - A great overview of the language and how it works with HTML and CSS.
- What is Javascript? (Video)
- ECMAScript aka JavaScript
Programming in General¶
Language¶
- Javascript (Mozilla)
- W3 Javascript Tutorial
- How Javascript Works
- Code Academy - Intro to JavaScript ($)
- Google Developers Training
- Javascript Basics: What is Javascript, really?
- JavaScript building blocks
Language Summaries / Cheatsheets¶
- Javascript.com by Pluralsignt - A great quick reference of parts of the language.
- Javascript Basics (P5.js Wiki Reference) - This is a quick-ish overview of the language and how to use it.
DOM¶
- Introduction to the DOM
- DOM Interfaces
- JavaScript DOM Tutorial Series (Video Playlist) - by The Net Ninja
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.
- The Complete JavaScript Handbook
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
- Javascript.com by Pluralsignt - Check out these short courses for learning specific topics using JS.
Articles¶
- Learn to Code: 13 Tips that Could Save You Years of Effort
- 10 Priceless Resources for JavaScript Learners
- A Study Plan To Cure JavaScript Fatigue - Thx Karen!
JS Collections¶
- Micro JS- A website with tons of JS libraries. Some big some small.
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¶
- JS the Right Way
- JavaScript Design Patterns - Free Udacity Course
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
- Coding Math (Youtube Channel)
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