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.
As a result, they struggle with which of those methods and APIs to use, and when.
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).
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.
- Setting vs. redefining variables
- Modular, functional programming
- Plugin extensibility
I’m sure I’m missing some important stuff. What would you add to the list?