Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Technically the are JS falsey, but I choose not to treat them that way. I rarely want to treat the result of a calculation as a boolean condition. However, I often want to know if a calculation isNaN or isEmpty. Just because something is falsey doesn't mean it should be treated that way universally.


Right on, I get that, but truthy(NaN) and truthy(5) both return true, so you still don't know if the calculation isNaN.

Btw, I should have said first: I love the article in general and it's great to see these techniques becoming more mainstream in javascript. Thank you!


I would probably structure the problem like this:

    var ans = someCalculation(x,y);
    
    if (truthy(ans) && !isNaN(ans))
      //do something
    else
      //do something else
The point being I like to dispatch conditions on boolean results of certain properties of my results rather than the result directly. It helps me to keep my sanity.

Thanks for the kind words BTW. :-)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: