JavaScript Mental Models


There are many ways to understand JavaScript.

Dan Abramov’s mental model in Just JavaScript is not the only one. He uses the universe as an analogy when he explains JavaScript concepts. That’s his mental model.

On the other hand, I use everyday observations when I explain JavaScript. That’s closer to my mental model. And it’s probably easier to understand for most people since everyday things are closer to our hearts and minds.

One important thing to understand here is that Dan’s model is not superior to mine. What matters is we can both use JavaScript to build things we care about. In that regard, my mental model is equal to Dan’s.

If you can do the same, then your mental model is equal to ours.

If you can’t, and if building things with JavaScript is important to you, then you may want to consider upgrading your mental models so you can do what you wish to do.

At the core, it’s about understanding JavaScript well. Just like all painters know their paintbrushes thoroughly. We web developers have to know our tools (and JavaScript being one of them) thoroughly as well.

Upgrading your mental models

The keyword is upgrade. Not destroy.

Many people make the mistake of destroying their mental models (inadvertently) while trying to learn a new one.

That doesn’t work.

It causes a depletion of self trust. It creates confusion, lostness, and a desperate plea for others to help you.

Upgrading your mental models is simple.

  1. Don’t beat yourself up (that leads to denying or destroying your previous mental models)
  2. Figure out the parts that are not working and seek to improve them with ones that work. Here, it’s useful to get help and advice from others who’ve done it before.
  3. Give yourself the space to figure it out.

No need to completely destroy everything you know and start from scratch — it’s harmful and paralyzing.

Work with what you have. Figure out what’s not working. Then upgrade it. And upgrade it again.

If you need help upgrading your JavaScript mental models and practical creation ability, consider looking at Learn JavaScript.

Want to become a better Frontend Developer?

Don’t worry about where to start. I’ll send you a library of articles frontend developers have found useful!

  • 60+ CSS articles
  • 90+ JavaScript articles

I’ll also send you one article every week to help you improve your FED skills crazy fast!