Learn JavaScript
JavaScript is a high level, dynamic, untyped, and interpreted programming language. It has been standardized in the ECMAScript language specification. Alongside HTML and CSS, it is one of the three essential technologies of World Wide Web content production; the majority of websites employ it and it is supported by all modern web browsers without plug-ins. JavaScript is prototype-based with first-class functions, making it a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles. It has an API for working with text, arrays, dates and regular expressions, but does not include any I/O, such as networking, storage or graphics facilities, relying for these upon the host environment in which it is embedded.
Getting Started:
- codecademy.com JavaScript [interact]
- JavaScript first steps [read]
- JavaScript building blocks [read]
- JavaScript Enlightenment [read]
- JavaScript object basics [read]
- Eloquent JavaScript [read]
General Learning:
- Speaking JavaScript [read]
- You Don't Know JS: Up & Going [read]
- You Don't Know JS: Types & Grammar [read]
- You Don't Know JS: Scope & Closures [read]
- Gentle explanation of 'this' keyword in JavaScript [read]
- You Don't Know JS: this & Object Prototypes [read]
Mastering:
- Setting up ES6 [read]
- ES6 FOR EVERYONE! [watch][$]
- Exploring ES6 [read]
- You Don't Know JS: ES6 & Beyond [read]
- Understanding ECMAScript 6: The Definitive Guide for JavaScript Developers [read]
- ES6: The Right Parts [watch][$]
- Exploring ES2016 and ES2017 [read]
- JavaScript Regular Expression Enlightenment [read]
- Using Regular Expressions [watch][$]
- You Don't Know JS: Async & Performance [read]
- JavaScript with Promises [read][$]
- Test-Driven JavaScript Development [read][$]
- JS MythBusters [read]
Functional JavaScript:
- Functional Programming Jargon
- funfunfunction: Functional programming in JavaScript [watch]
- Functional-Light-JS [read]
- Functional Programming in JavaScript: How to improve your JavaScript programs using functional techniques [read]
- Mostly adequate guide to FP (in javascript) [read]
- JavaScript Allongé [read][$]
- Hardcore Functional Programming in JavaScript [watch][$]
- Functional-Lite JavaScript [watch][$]
References/Docs:
Glossary/Encyclopedia/Jargon:
Standards/Specifications:
- ECMAScript® 2015 Language Specification
- ECMAScript® 2016 Language Specification
- ECMAScript® 2017 Language Specification
- Status, Process, and Documents for ECMA262
Style:
JavaScript Newsletters, News, & Podcasts:
- Echo JS
- ECMAScript Daily
- ES.next News
- FiveJS
- JavaScript Air
- JavaScript Jabber
- JavaScript Kicks
- JavaScript Live
- JavaScript Weekly
- JavaScript.com
Deprecated JS Learning Resources:
- Crockford on JavaScript - Volume 1: The Early Years [watch]
- Crockford on JavaScript - Chapter 2: And Then There Was JavaScript [watch]
- Crockford on JavaScript - Act III: Function the Ultimate [watch]
- Crockford on JavaScript - Episode IV: The Metamorphosis of Ajax [watch]
- Crockford on JavaScript - Part 5: The End of All Things [watch]
- Crockford on JavaScript - Scene 6: Loopage [watch]
- JavaScript Patterns [read][$]
- The Principles of Object-Oriented JavaScript [read][$]
- JavaScript Modules [read]
- Functional JavaScript: Introducing Functional Programming with Underscore.js [read][$]
- The Good Parts of JavaScript and the Web [watch][$]
- High Performance JavaScript (Build Faster Web Application Interfaces) [read][$]
- Advanced JavaScript [watch][$]