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: Datatypes & 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 anyway?
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 build projects, check out this article I wrote.