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
When I started writing JS it was hard to get an understanding of what
prototype
is and how it's used.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.
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
typeOf null = 'Object'
Newest confusion is parseInt. Just try and see what happens if you do
parseInt(0.000000347)
How come they didn't actually go with 'smoosh'?
I have a few things that I considered confusing when I started learning JS..scope, hoisting, closures, callbacks
The ecosystem. Every time I come back to JS the tooling is entirely different. Makes it frustrating to get things done.