This is my 42nd post
.
If you’re as geek as I am, that’s good for you that you know what excites me.
Otherwise typing 42 into Google may be a revelation that will put your mind into order.
8 months ago, I started this blog with a bold claim that not everyone knows JavaScript. It still is one of the most popular articles on this site.
I repeat myself here:
Not everyone knows JavaScript, and not everyone knows that they don’t know a darn thing about JavaScript either.
At that post, I’ve given a quiz, with 58 questions, to gauge your JavaScript knowledge. In the past 8 months, I’ve answered most of those questions with detailed and in depth articles and tutorials.
Don’t Panic
If that initial list overwhelms you, and you want a “bare minimum” to get your feet wet, here is the least you need to know to enjoy JavaScript:
- In JavaScript everything is an Object.
- Corollary: functions are also Objects.
- Object literals’ ({…}) keys are always of type String:
var life = {universe : { everything : 42 } }; life.universe.everything == 42 life['universe']['everything'] == 42 - Therefore the dot operator does nothing but dereferencing by hash.
This enables us use object literals ({}) as dictionaries or hash tables. - the new operator creates an Object:
The new operator creates an object by running a constructor function.
This constructor function may return a different object than the originally instantiated object. - Functions are always closures.
- “this” keyword is relative to the context of execution.
“this” keyword does not depend on where it is declared; rather it’s interpreted by
where it is actually executed. - The prototype property is mutable. And this is the basis of the prototypal inheritance model of JavaScript.
- Most understand the delete operator incorrectly.
Communication is What the Listener Does
JavaScript can be a torture, or a delightful experience depending on how you approach it.
JavaScript is not inexorably hard to learn. The only reason you may struggle with it is that you simply don’t want to listen to it.
If you insist on assuming that mastering a JavaScript library is akin to fully knowing JavaScript, and if you are so lazy, or obstinate that you resist spending your precious hours to digest a couple of core concepts, you’ll continue to feel the pain in “you know where”.
It’s your choice. Either live in a world of painful and unsatisfied expectations, or enjoy the mysterious and extensible world of JavaScript.
It all depends on you; and resistance is futile
.

