If you’re learning JavaScript, you’ve most likely heard how important it is to learn the fundamentals.

Problem is, you aren’t sure what the fundamentals are. And, with thousands of resources on the Internet, where do you begin?

In an episode of Syntax, Wes and Scott do a great job of covering JavaScript fundamentals. They go over the core JS skills that I use each day at my job as a JavaScript developer. While listening to the episode, I thought about how helpful it would've been for me, as a beginner, to have a curated list of resources for learning each fundamental concept. So I created it for you.

Below are the JavaScript fundamentals Wes and Scott listed, along with my favorite (and 100% free) resources for learning each one.

Variables + Scoping

Declaring JavaScript Variables: var, let and const

ES6 let VS const variables

The Difference Between Function And Block Scope In JavaScript

Types

Intro to JavaScript, Lesson 1: Data types & variables

Understanding Data Types in JavaScript

Objects

Intro To Web Development: Objects

You Don't Know JS: Objects and Classes

Reference vs. Copy

Functions

Write Reusable JavaScript with Functions

Intro To Web Development: Functions & Scope

Arrow Functions

How To Use Object Methods In JavaScript

The DOM

What exactly is the DOM?

Eloquent JavaScript, Chapter 14: The Dom

Prototypes + this

A Beginner's Guide to JavaScript's Prototype

Understanding This, Bind, Call, and Apply in JavaScript

Events

Callback Functions

What the heck is the event loop anyways?

Bubbling and Capturing

Arrays

JavaScript Array and Object Methods to make you a better developer

10 JavaScript array methods you should know

Flow control

Learn JavaScript: Loops

For Loops

Async JavaScript: From Callbacks, to Promises, to Async/Await. This article by Tyler McGinnes is the best article on async JS I've ever read.

Intro To Web Development: Control Flow

Security and Accessibility

XSS and Inner HTML

Web Accessibility

Writing Clean Code

Clean Code Book (linked from Syntax)

Things you should know, but not necessarily master:

ES6 Modules

Closures

As Wes and Scott point out, building real projects with JavaScript is what will cement these fundamentals you've read about. Make sure to build projects as you go. If you feel stuck on how to go from tutorials to actually building projects, check out this article I wrote.

If you have more great resources to share or feedback on this post, feel free to Tweet at me.

I'm creating a free JavaScript course for beginners. Sign up to get notified when it's launched and have it sent 100% free to your inbox!