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

Valid JS is often not valid TS. Any nontrivial amount of JS copied into TS will generally not work without tweaks. When people say TS is a superset of JS, it's just some academic definition of syntax supersets that isn't practically true.

Non-exhaustive examples:

    let foo = 2
    foo = "foo"  // TS disallows type change
    let bar = {}
    bar.baz = 2  // TS disallows adding property


The amount of weird TS I see that attempts to keep the JS style of code while getting the compiler to stop being mad is strange. I will see hundreds of line of type inference work, when they could have just made an actual type.


I feel like most people using TS are not doing it by personal choice but because someone else decided it


I see this happening with people who are thrown in to coding TS, with little or no training / time to educate themselves.


Even syntactically, TS is not a superset of JS: https://anemato.de/blog/js-to-ts


So it's a "sodium chloride" thing. Oh I hit this case too, and even this article looks familiar, probably cause I googled an error message




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

Search: