If you're learning JavaScript, you've likely heard people tell you how important it is to learn the fundamentals.
But what are they? And where do you learn them?
Here's a list of JavaScript fundamentals and my favorite free resources for learning them.
But what are they? And where do you learn them?
Here's a list of JavaScript fundamentals and my favorite free resources for learning them.

Before listing resources to learn the fundamentals, I'll ask: what are they? I love this episode of Syntax by @wesbos and @stolinski where they go over what they believe the fundamentals are. I took each concept mentioned & added the best resource I've found for learning it:
1. Variables + Scoping.
This is a fantastic article by @codebeast on variables followed by another lesson on scope. https://scotch.io/courses/10-need-to-know-javascript-concepts/declaring-javascript-variables-var-let-and-const
This is a fantastic article by @codebeast on variables followed by another lesson on scope. https://scotch.io/courses/10-need-to-know-javascript-concepts/declaring-javascript-variables-var-let-and-const
2. Types.
Understanding data types by @taniarascia. One of my favorite JavaScript teachers for clear explanations of fundamentals. https://www.digitalocean.com/community/tutorials/understanding-data-types-in-javascript
Understanding data types by @taniarascia. One of my favorite JavaScript teachers for clear explanations of fundamentals. https://www.digitalocean.com/community/tutorials/understanding-data-types-in-javascript
3. Objects, functions & arrays.
I love @holtbt's intro to web dev course on @FrontendMasters. I've had so many beginners from @CodeBookClub tell me how valuable this course is when learning these fundamentals.
All the course content for free: https://btholt.github.io/intro-to-web-dev-v2/intro/
I love @holtbt's intro to web dev course on @FrontendMasters. I've had so many beginners from @CodeBookClub tell me how valuable this course is when learning these fundamentals.
All the course content for free: https://btholt.github.io/intro-to-web-dev-v2/intro/
4. The DOM!
What exactly is the DOM?! By @karaluton. Fun, well-written overview to get started. https://dev.to/karaluton/what-exactly-is-the-dom-jhg
What exactly is the DOM?! By @karaluton. Fun, well-written overview to get started. https://dev.to/karaluton/what-exactly-is-the-dom-jhg
5. Prototypes + this.
Beginner's guide to JavaScript prototypes by @tylermcginnis. Tyler is such a fantastic teacher and his courses have helped me so much. https://ui.dev/beginners-guide-to-javascript-prototype/
Beginner's guide to JavaScript prototypes by @tylermcginnis. Tyler is such a fantastic teacher and his courses have helped me so much. https://ui.dev/beginners-guide-to-javascript-prototype/
6. Events.
"What the heck is the event loop anyway?" is a classic go-to for understanding events, and for good reason. By @philip_roberts.
"What the heck is the event loop anyway?" is a classic go-to for understanding events, and for good reason. By @philip_roberts.
7. Flow control.
Excellent tutorials like this on for loops and others from @beaucarnes from his series, Beau teaches JavaScript.
Excellent tutorials like this on for loops and others from @beaucarnes from his series, Beau teaches JavaScript.
8. Security and Accessibility.
Loved this free @udacity course to get started. https://www.udacity.com/course/web-accessibility--ud891
Loved this free @udacity course to get started. https://www.udacity.com/course/web-accessibility--ud891
9. Good to know: how to write clean code. Here's a link from the Syntax episode to a fantastic repo by @ryconoclast that covers clean code concepts adapted for JavaScript. https://github.com/ryanmcdermott/clean-code-javascript
10. Async JavaScript. Another epic tutorial by Tyler McGinnis. https://ui.dev/async-javascript-from-callbacks-to-promises-to-async-await/
Other things good to know but don't need to necessarily master as a beginner: closures, Ajax requests, modules. To listen to the episode that inspired this thread: https://syntax.fm/show/162/the-fundamentals-js