Bachelor's and Master's in CS from MIT. Previously, worked @ Microsoft & Zynga. Currently Co-Founder of Moesif (moesif.com), the most advanced API analytics platform.
Full-time web dev; JS lover since 2002; CSS fanatic. #CSSIsAwesome
I try to stay up with new web platform features. Web feature you don't understand? Tell me! I'll write an article!
He/him
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.
In other words, coercion, especially implicit coercion, has usages where it actually improves the readability of our code.
I am a software development engineer in test for Infosys. My job is officially to write automated tests in Selenium Webdriver. I'm also a web developer as a hobbyest
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.
Software dev at Netflix | DC techie | Conference speaker | egghead Instructor | TC39 Educators Committee | Girls Who Code Facilitator | Board game geek | @laurieontech on twitter
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.
Curious web developer interested in tech, dogs, & good food! Believer in all things magical and lover of people! Work with some of the most amazing people and customers @ Cloudinary!
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