I agree TS definitely does not 'fix' JS, but in practice, it helps avoid many issues.
Example: prototype inheritance.
Now you can argue that's a 'good feature' of JS, but I'd argue it's just convoluted and difficult.
Since programming in TS ... I've basically never run into a prototype inheritance concern, and maybe a little bit daring (or lazy) to say that I've forgotten many of the details. You really don't have to know anything about prototype inheritance when you're in TS land.
Modules. Technically, that's going to be 'fixed' in a near future version of JS, but really, it's not. Modularization is cludge in JS with various versions. In TS it's fairly clear. No issues there either.
Also, annotations.
Anyhow, yes, you're right technically, but TS does obfuscate a lot of the ridiculousness to the point wherein I would say TS is borderline another layer of abstraction, not just 'types'.
It's the only thing in tech I actually talk up when I get the chance.
I agree TS definitely does not 'fix' JS, but in practice, it helps avoid many issues.
Example: prototype inheritance.
Now you can argue that's a 'good feature' of JS, but I'd argue it's just convoluted and difficult.
Since programming in TS ... I've basically never run into a prototype inheritance concern, and maybe a little bit daring (or lazy) to say that I've forgotten many of the details. You really don't have to know anything about prototype inheritance when you're in TS land.
Modules. Technically, that's going to be 'fixed' in a near future version of JS, but really, it's not. Modularization is cludge in JS with various versions. In TS it's fairly clear. No issues there either.
Also, annotations.
Anyhow, yes, you're right technically, but TS does obfuscate a lot of the ridiculousness to the point wherein I would say TS is borderline another layer of abstraction, not just 'types'.
It's the only thing in tech I actually talk up when I get the chance.