Jason Knight
1 min readMay 5, 2024

Your "isOdd" is a stunning example of why I think not only that Typescript is a massive time waster, but that the people who use it don't understand computers enough to be flapping their yap about how to do things.

Like how ParseInt of NaN returns NaN, parseInt of non-numericable strings, objects or other values returns NaN... so why the extra logic?

Or the binary "or" post parseInt (100% hurr durrz) when a binary AND would return zero or one, so just typecast the result with a double-bang. Said that, she did...

Bloated half-assed train wreck for what vanilla JS would only be:

const isOdd = (value) => isNaN(value = parseInt(value)) ? false : !!(value & 1);

Leveraging loose typecasting and natural behaviors instead of fighting it for ZERO BENEFIT!

That's why as an early adopter of Typescript, I was also an early abandoner. TypeScript is more work, more effort, takes more time, is harder to diagnose, deepens your stack, creates reliance on excess "tooling for nothing", and provides zero legitimate benefits beyond a placebo driven yumming up of fear-mongering bullshit.

Jason Knight

Accessibility and Efficiency Consultant, Web Developer, Musician, and just general pain in the arse