For further actions, you may consider blocking this person and/or reporting abuse
This site is powered by Heroku
Heroku was created by developers, for developers. Get started today and find out why Heroku has been the platform of choice for brands like DEV for over a decade.
Read next

Version Control Strategies (Gitflow)
Aviral Srivastava -

Node.js vs Django: A Comprehensive Comparison
Bhavya Jain -

13 GitHub Projects that Supercharge Your AI and Development Journey 🚀
Bruh Buh -

Exploring the Synergy Between Cyberwarfare and OSINT
Laetitia Perraut -
Top comments (14)
this
Type coercion is definitely not obvious in JavaScript
IMHO, don't ever ever ever use
==
in JavaScript. Always use===
instead and forget about type coercion; just explicitly type-cast anything you need to.It's a very rare case when you work on a project alone. Other developers can use == and it's necessary to understand how type coercion works.
I agree that most of developers consider == as evil. But Kyle Simpson (You don't know JS author) don't hate type coercion. Moreover, he recomments to use == where necessary.
Source.
When I started writing JS it was hard to get an understanding of what
prototype
is and how it's used.Closures. It's a complicated subject involving an understanding of how the execution context works and how variables are scoped and held within the JavaScript engine. It takes a lot of practice and theory for closures to finally click. It took me like six months to finally grok it.
Javascript has a lot of layers. Understanding what is controlling each piece can be hard to parse if you're new. I actually wrote something on this a while back.
The Layers of Javascript
Laurie ・ 3 min read
Newest confusion is parseInt. Just try and see what happens if you do
parseInt(0.000000347)
typeOf null = 'Object'
How come they didn't actually go with 'smoosh'?
The ecosystem. Every time I come back to JS the tooling is entirely different. Makes it frustrating to get things done.
I have a few things that I considered confusing when I started learning JS..scope, hoisting, closures, callbacks