10 biggest JS pitfalls

Axel Rauschmayer axel at rauschma.de
Sun Jan 6 00:14:11 PST 2013


> Exactly Brendan, I could not agree more and this is my No. 1 pitfall about JS: developers often not doing real work complaining about stuff that developers doing real work don't even care about or never ever had to worry about.

I don’t follow. Who are these people not doing “real work”? And I don’t think discussing the language qualifies as complaining.

> In any case they can learn and understand the feature/problem using the feature when needed, avoiding its weakness when necessary.
> 
> About falsy and truthy, null and undefined, who cares ... seriously, and to be honest, that's not a pitfall, is rather a feature when needed as it is for all other scripting languages as long as you know what you are doing ... and no programming language will save you if you don't know what you are doing and it's your duty, as developer, to understand the language you are using if that's your job.

“Warts” is probably a better term than “pitfalls”.

> Again, about falsy ... if I see a glass empty, it does not mean I used a microscope to understand no water is left in the whole glass surface ... I just consider that empty and I add water on top.
> 
> Engineers have the tendency to over complicate even simple tasks as the one I've just described ... what is the benefit? What is the result? That the day falsy values in JS will disappear libraries authors will implement an isFalsy(value) function/method and use it 90% of the time regretting the trick with == disappeared ... isn't it ;-)

What is the trick with ==? Note that == does not respect truthiness or falsiness:

    > 2 == true
    false
    > 2 == false
    false

    > '2' == true
    false
    > '2' == false
    false


-- 
Dr. Axel Rauschmayer
axel at rauschma.de

home: rauschma.de
twitter: twitter.com/rauschma
blog: 2ality.com



More information about the es-discuss mailing list