Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Learning JavaScript and React

Learning JavaScript and React

A guide for experienced programmers learning JavaScript and React.


Books & Reading

  • Effective JavaScript covers advanced JavaScript topics, such as concurrency and library design, in great detail.

  • Eloquent JavaScript dives deeper into JavaScript. This is a good place to cover more advanced topics such as closures, data structures, and error handling.

  • Functional-Light JavaScript: A book about functional programming in JavaScript.

  • Art of Node: An introduction to Node and its programming paradigm and style.

Reference Documentation

  • MDN (the Mozilla Developer Network) is the best resource for reference documentation. This is a great place for not just JavaScript, but also anything else web-related (HTML, CSS, etc.).

  • JavaScript Garden documents the most quirky parts of JavaScript. It's a good place to get familiar with behavior that may otherwise catch you by surprise.

Video Lessons provides excellent video-based lessons for both JavaScript and React. A few good ones to gets started with are:

Interactive Tutorials


The best way to learn React is hands-on.

React Tutorial

The official Intro to React Tutorial is the best place to start.

Practice Application

After the tutorial, building your own small React application will help solidify the fundamentals and begin identifying edge cases and scaling problems. It's a good idea for your application to have some non-trivial amount of state, and use asynchronous APIs.

Create React App is a tool that lets you quickly scaffold a React application without worrying about project structure, build tools, etc.

React Native

The most important part of React Native is the React programming model. Going through the official React (for web) tutorial and building a practice web React application (see above) is the best way to start. After that, the official React Native Tutorial and documentation is a good place to learn React Native specifics.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment