Hacker News new | ask | show | jobs
by jisaacks 4439 days ago
And since 0 is falsy we get 10 for base 0.
2 comments

It's not exactly checking for falsy values. Although all falsy values will lead to a radix of 10 being applied.

parseInt internally uses the ToInt32 abstract operation on the radix parameter. Once it has that value, it explicitly looks to see if the value is 0. If it is, it uses a radix of 10.

https://people.mozilla.org/~jorendorff/es6-draft.html#sec-pa...

Edit: I hope that doesn't come off as pedantic. My point wasn't to disagree as much as it was to just add some further explanation.

This is HN, there's no such thing as being pedantic. :)
Although keep in mind that excessive pedantry is frowned upon.
Or rather, there is but it's thoroughly welcome.
Which is odd. I wonder why they checked for falsiness and not the argument being undefined.