Skip to main content Accessibility Feedback

Concepts vs. techniques with vanilla JS

When I was in high school, one of my favorite subjects was physics.

Our teacher used to let us bring a single 3x5 inch index card with us for tests. On it, we could write down any notes or formulas we wanted, and use them while working through problems on the test.

Isn’t that cheating?

Our teacher didn’t think so. To him, it was more important that we understood the underlying concepts and knew which formulas to apply than it was that memorized a bunch of random math equations.

I did particularly well on his tests, because I understood (and loved learning about) physics concepts but sucked at memorizing.

Some of my fellow students who were better at memorizing things but had a hard time understanding the concepts did really poorly, even though they were normally good test-takers.

What’s this got to do with JavaScript?

I often see beginners get hung up on trying to memorize all of the techniques, methods, and browser APIs, but not understand the fundamental concepts of JavaScript.

As a result, they struggle with which of those methods and APIs to use, and when.

Should you use var, let, or const? Function declarations or function expressions? Do you need to copy an array or object before manipulating it?

It depends!

It’s much more important that you understand high-level principles and approaches than memorize specific techniques, helper functions, and so on. You can always Google that stuff (or look it up on the Vanilla JS Toolkit).

So… what are the core concepts of JavaScript that you should know?

Core Vanilla JS Concepts

This is by no means a comprehensive list, but here are a few of the key concepts I think it’s important to know.

I’m sure I’m missing some important stuff. What would you add to the list?