It’s the only language I’ve used where [] == ![]
it's true and where you can, typeof null
and somehow get 'object'
. But despite all its quirks (and there are many), there are a few core concepts that make life with JS not just easier, but saner.
This isn’t some computer science flex. These are practical concepts that, once you understand them, make you write better, cleaner, and less buggy code.
1. Hoisting
Before you rage at your variables beingundefined
, understand this:
JS hoists variable and function declarations to the top of their scope.
But — and this is important — only the declarations, not the assignments.

Why? Because JS reads it like:

This is also why let
and const
behave differently — they’re hoisted too, but live in the “Temporal Dead Zone” until declared.
2. Closures
Closures are like little memory vaults for your functions. They allow functions to remember variables from the scope they were created in, even after that scope has gone.

Why care?
This is how things like memoization, currying, and state management in vanilla JS work.
3. The this
keyword
Oh yes, this one. (See what I did there?)
The value of this
depends on how the function is called, not where it’s written. It’s a little chaotic, so remember:
- In a regular function, it
this
refers to the caller. - An arrow function
this
is lexically scoped (it uses the value from its outer context). - In strict mode (or modules), if not bound, it
this
isundefined
.

4. Truthy & Falsy Values
There are only seven falsy values in JavaScript:

Everything else is truthy. That includes "0"
, []
, {}
, and even new Boolean(false)
.
Knowing this helps you write cleaner conditional checks:

5. Destructuring
Think of destructuring as JavaScript’s version of “just give me the stuff I need.”

You can do this in arrays, too:

Destructuring helps with clean function params, especially in React props.
6. Array Methods: map
, filter
, reduce
Please — stop writing for
loops for everything.
map()
transforms data,filter()
selects what you need,reduce()
boils it all down

They make your code declarative, readable, and elegant.
You don’t need to memorize every weird quirk of JS to be good at it. But these six concepts? They’re foundational. If you’ve got a good handle on them, you’ll understand what’s going on under the hood, write more predictable code, and stop blaming React for every weird re-render.
And if you’re still figuring some of these out? That’s cool. So are the rest of us.
Happy coding!!!
Comments
Post a Comment